Copyright (c) Nicolas Gallagher and Jonathan Neal.
Licensed under the MIT license (see LICENSE-MIT.txt).
-* Source Code Pro (SourceCodePro-Regular.woff, SourceCodePro-Semibold.woff):
+* Source Code Pro (SourceCodePro-Regular.ttf.woff,
+ SourceCodePro-Semibold.ttf.woff, SourceCodePro-It.ttf.woff):
Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/),
with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark
Licensed under the SIL Open Font License, Version 1.1.
See SourceCodePro-LICENSE.txt.
-* Source Serif Pro (SourceSerifPro-Regular.ttf.woff,
- SourceSerifPro-Bold.ttf.woff, SourceSerifPro-It.ttf.woff):
+* Source Serif 4 (SourceSerif4-Regular.ttf.woff, SourceSerif4-Bold.ttf.woff,
+ SourceSerif4-It.ttf.woff):
- Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/), with
- Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of
- Adobe Systems Incorporated in the United States and/or other countries.
+ Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name
+ 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United
+ States and/or other countries.
Licensed under the SIL Open Font License, Version 1.1.
- See SourceSerifPro-LICENSE.txt.
+ See SourceSerif4-LICENSE.md.
This copyright file is intended to be distributed with rustdoc output.
--- /dev/null
+Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+++ /dev/null
-Copyright 2014-2018 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-
-This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
- body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod){border-bottom-color:#5c6773;}h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.content .highlighted{color:#000 !important;background-color:#c6afb3;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted{background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}.collapse-toggle{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-focus:disabled{color:#929292;}.module-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.content .highlighted.mod,.content .highlighted.externcrate{}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content .highlighted.trait{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content .highlighted.traitalias{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}.content .highlighted.foreigntype{}pre.rust .lifetime{}.content .highlighted.primitive{}.content .highlighted.constant,.content .highlighted.static{}.stab.unstable{}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content .highlighted.enum{}.content .highlighted.struct{}.content .highlighted.keyword{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{}.stab.portability{}.content .highlighted.union{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}.content .highlighted.type{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results td span.alias{color:#c5c5c5;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;}
\ No newline at end of file
+ body{background-color:#0f1419;color:#c5c5c5;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:white;}h1.fqn{border-bottom-color:#5c6773;}h1.fqn a{color:#fff;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod){border-bottom-color:#5c6773;}h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border:none;}.in-band{background-color:#0f1419;}.invisible{background:rgba(0,0,0,0);}code{color:#ffb454;}h3>code,h4>code,h5>code{color:#e6e1cf;}pre>code{color:#e6e1cf;}span code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}.docblock code,.docblock-short code{background-color:#191f26;}pre{color:#e6e1cf;background-color:#191f26;}.sidebar{background-color:#14191f;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);}*{scrollbar-color:#5c6773 transparent;}.sidebar{scrollbar-color:#5c6773 transparent;}::-webkit-scrollbar-track{background-color:transparent;}::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar::-webkit-scrollbar-track{background-color:transparent;}.sidebar::-webkit-scrollbar-thumb{background-color:#5c6773;}.sidebar .current{background-color:transparent;color:#ffb44c;}.source .sidebar{background-color:#0f1419;}.sidebar .location{border-color:#000;background-color:#0f1419;color:#fff;}.sidebar-elems .location{color:#ff7733;}.sidebar-elems .location a{color:#fff;}.sidebar .version{border-bottom-color:#424c57;}.sidebar-title{border-top-color:#5c6773;border-bottom-color:#5c6773;}.block a:hover{background:transparent;color:#ffb44c;}.line-numbers span{color:#5c6773;}.line-numbers .line-highlighted{color:#708090;background-color:rgba(255,236,164,0.06);padding-right:4px;border-right:1px solid #ffb44c;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#5c6773;}.docblock table,.docblock table td,.docblock table th{border-color:#5c6773;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#c5c5c5;}.content .highlighted{color:#000 !important;background-color:#c6afb3;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted{background-color:#c6afb3;}.search-results a{color:#0096cf;}.search-results a span.desc{color:#c5c5c5;}.content .item-info::before{color:#ccc;}.content span.foreigntype,.content a.foreigntype{color:#ef57ff;}.content span.union,.content a.union{color:#98a01c;}.content span.constant,.content a.constant,.content span.static,.content a.static{color:#6380a0;}.content span.primitive,.content a.primitive{color:#32889b;}.content span.traitalias,.content a.traitalias{color:#57d399;}.content span.keyword,.content a.keyword{color:#de5249;}.content span.externcrate,.content span.mod,.content a.mod{color:#acccf9;}.content span.struct,.content a.struct{color:#ffa0a5;}.content span.enum,.content a.enum{color:#99e0c9;}.content span.trait,.content a.trait{color:#39AFD7;}.content span.type,.content a.type{color:#cfbcf5;}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod,.content .fnname{color:#fdd687;}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:#a37acc;}pre.rust .comment{color:#788797;}pre.rust .doccomment{color:#a1ac88;}nav:not(.sidebar){border-bottom-color:#424c57;}nav.main .current{border-top-color:#5c6773;border-bottom-color:#5c6773;}nav.main .separator{border:1px solid #5c6773;}a{color:#c5c5c5;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#39AFD7;}.collapse-toggle{color:#999;}#crate-search{color:#c5c5c5;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;border-color:#424c57;}.search-input{color:#ffffff;background-color:#141920;box-shadow:0 0 0 1px #424c57,0 0 0 2px transparent;transition:box-shadow 150ms ease-in-out;}#crate-search+.search-input:focus{box-shadow:0 0 0 1px #148099,0 0 0 2px transparent;}.search-focus:disabled{color:#929292;}.module-item .stab{color:#000;}.stab.unstable,.stab.deprecated,.stab.portability{color:#c5c5c5;background:#314559 !important;border-style:none !important;border-radius:4px;padding:3px 6px 3px 6px;}.stab.portability>code{color:#e6e1cf;background:none;}#help>div{background:#14191f;box-shadow:0px 6px 20px 0px black;border:none;border-radius:4px;}#help>div>span{border-bottom-color:#5c6773;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#788797;}.line-numbers :target{background-color:transparent;}pre.rust .number,pre.rust .string{color:#b8cc52;}pre.rust .kw,pre.rust .kw-2,pre.rust .prelude-ty,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .op,pre.rust .lifetime{color:#ff7733;}pre.rust .macro,pre.rust .macro-nonterminal{color:#a37acc;}pre.rust .question-mark{color:#ff9011;}pre.rust .self{color:#36a3d9;font-style:italic;}pre.rust .attribute{color:#e6e1cf;}pre.rust .attribute .ident,pre.rust .attribute .op{color:#e6e1cf;}.example-wrap>pre.line-number{color:#5c67736e;border:none;}a.test-arrow{font-size:100%;color:#788797;border-radius:4px;background-color:rgba(57,175,215,0.09);}a.test-arrow:hover{background-color:rgba(57,175,215,0.368);color:#c5c5c5;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:rgba(255,236,164,0.06);border-right:3px solid rgba(255,180,76,0.85);}pre.compile_fail{border-left:2px solid rgba(255,0,0,.4);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.4);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#39AFD7;}.tooltip::after{background-color:#314559;color:#c5c5c5;border:1px solid #5c6773;}.tooltip::before{border-color:transparent #314559 transparent transparent;}.notable-traits-tooltiptext{background-color:#314559;border-color:#5c6773;}#titles>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#titles>button:not(.selected){background-color:transparent !important;border:none;}#titles>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#titles>button>div.count{color:#888;}.content .highlighted.mod,.content .highlighted.externcrate{}.search-input:focus{}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{}.content .highlighted.trait{}.content span.struct,.content a.struct,.block a.current.struct{}#titles>button:hover,#titles>button.selected{}.content .highlighted.traitalias{}.content span.type,.content a.type,.block a.current.type{}.content span.union,.content a.union,.block a.current.union{}.content .highlighted.foreigntype{}pre.rust .lifetime{}.content .highlighted.primitive{}.content .highlighted.constant,.content .highlighted.static{}.stab.unstable{}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){}.content span.enum,.content a.enum,.block a.current.enum{}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{}.content span.keyword,.content a.keyword,.block a.current.keyword{}pre.rust .comment{}.content .highlighted.enum{}.content .highlighted.struct{}.content .highlighted.keyword{}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{}pre.rust .kw{}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{}pre.rust .doccomment{}.stab.deprecated{}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{}.stab.portability{}.content .highlighted.union{}.content span.primitive,.content a.primitive,.block a.current.primitive{}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{}.content .highlighted.type{}pre.rust .kw-2,pre.rust .prelude-ty{}.content span.trait,.content a.trait,.block a.current.trait{}@media (max-width:700px){.sidebar-menu{background-color:#14191f;border-bottom-color:#5c6773;border-right-color:#5c6773;}.sidebar-elems{background-color:#14191f;border-right-color:#5c6773;}#sidebar-filler{background-color:#14191f;border-bottom-color:#5c6773;}}kbd{color:#c5c5c5;background-color:#314559;border-color:#5c6773;border-bottom-color:#5c6773;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#5c6773;background-color:#0f1419;color:#fff;}#theme-picker>img,#settings-menu>img{filter:invert(100);}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#e0e0e0;}#theme-choices{border-color:#5c6773;background-color:#0f1419;}#theme-choices>button:not(:first-child){border-top-color:#5c6773;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:rgba(110,110,110,0.33);}@media (max-width:700px){#theme-picker{background:#0f1419;}}#all-types{background-color:#14191f;}#all-types:hover{background-color:rgba(70,70,70,0.33);}.search-results td span.alias{color:#c5c5c5;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#14191f;}#sidebar-toggle:hover{background-color:rgba(70,70,70,0.33);}#source-sidebar{background-color:#14191f;}#source-sidebar>.title{color:#fff;border-bottom-color:#5c6773;}div.files>a:hover,div.name:hover{background-color:#14191f;color:#ffb44c;}div.files>.selected{background-color:#14191f;color:#ffb44c;}.setting-line>.title{border-bottom-color:#5c6773;}input:checked+.slider{background-color:#ffb454 !important;}
\ No newline at end of file
<!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="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate bdk</p><div class="block version"><p>Version 0.6.1-dev</p></div><a id="all-types" href="index.html"><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate bdk</p><div class="block version"><p>Version 0.6.1-dev</p></div><a id="all-types" href="index.html"><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">List of all items</span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span>
</span>
</h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="struct.FeeRate.html">FeeRate</a></li><li><a href="struct.LocalUtxo.html">LocalUtxo</a></li><li><a href="struct.TransactionDetails.html">TransactionDetails</a></li><li><a href="struct.WeightedUtxo.html">WeightedUtxo</a></li><li><a href="blockchain/struct.LogProgress.html">blockchain::LogProgress</a></li><li><a href="blockchain/struct.NoopProgress.html">blockchain::NoopProgress</a></li><li><a href="blockchain/compact_filters/struct.BitcoinPeerConfig.html">blockchain::compact_filters::BitcoinPeerConfig</a></li><li><a href="blockchain/compact_filters/struct.CompactFiltersBlockchain.html">blockchain::compact_filters::CompactFiltersBlockchain</a></li><li><a href="blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html">blockchain::compact_filters::CompactFiltersBlockchainConfig</a></li><li><a href="blockchain/compact_filters/struct.Mempool.html">blockchain::compact_filters::Mempool</a></li><li><a href="blockchain/compact_filters/struct.Peer.html">blockchain::compact_filters::Peer</a></li><li><a href="blockchain/electrum/struct.ElectrumBlockchain.html">blockchain::electrum::ElectrumBlockchain</a></li><li><a href="blockchain/electrum/struct.ElectrumBlockchainConfig.html">blockchain::electrum::ElectrumBlockchainConfig</a></li><li><a href="blockchain/esplora/struct.EsploraBlockchain.html">blockchain::esplora::EsploraBlockchain</a></li><li><a href="blockchain/esplora/struct.EsploraBlockchainConfig.html">blockchain::esplora::EsploraBlockchainConfig</a></li><li><a href="database/any/struct.SledDbConfiguration.html">database::any::SledDbConfiguration</a></li><li><a href="database/memory/struct.MemoryDatabase.html">database::memory::MemoryDatabase</a></li><li><a href="descriptor/struct.DerivedDescriptorKey.html">descriptor::DerivedDescriptorKey</a></li><li><a href="descriptor/struct.Miniscript.html">descriptor::Miniscript</a></li><li><a href="descriptor/policy/struct.Condition.html">descriptor::policy::Condition</a></li><li><a href="descriptor/policy/struct.PkOrF.html">descriptor::policy::PkOrF</a></li><li><a href="descriptor/policy/struct.Policy.html">descriptor::policy::Policy</a></li><li><a href="descriptor/template/struct.Bip44.html">descriptor::template::Bip44</a></li><li><a href="descriptor/template/struct.Bip44Public.html">descriptor::template::Bip44Public</a></li><li><a href="descriptor/template/struct.Bip49.html">descriptor::template::Bip49</a></li><li><a href="descriptor/template/struct.Bip49Public.html">descriptor::template::Bip49Public</a></li><li><a href="descriptor/template/struct.Bip84.html">descriptor::template::Bip84</a></li><li><a href="descriptor/template/struct.Bip84Public.html">descriptor::template::Bip84Public</a></li><li><a href="descriptor/template/struct.P2Pkh.html">descriptor::template::P2Pkh</a></li><li><a href="descriptor/template/struct.P2Wpkh.html">descriptor::template::P2Wpkh</a></li><li><a href="descriptor/template/struct.P2Wpkh_P2Sh.html">descriptor::template::P2Wpkh_P2Sh</a></li><li><a href="keys/struct.DescriptorSinglePriv.html">keys::DescriptorSinglePriv</a></li><li><a href="keys/struct.DescriptorSinglePub.html">keys::DescriptorSinglePub</a></li><li><a href="keys/struct.GeneratedKey.html">keys::GeneratedKey</a></li><li><a href="keys/struct.PrivateKeyGenerateOptions.html">keys::PrivateKeyGenerateOptions</a></li><li><a href="keys/struct.SortedMultiVec.html">keys::SortedMultiVec</a></li><li><a href="keys/bip39/struct.Mnemonic.html">keys::bip39::Mnemonic</a></li><li><a href="keys/bip39/struct.Seed.html">keys::bip39::Seed</a></li><li><a href="wallet/struct.Wallet.html">wallet::Wallet</a></li><li><a href="wallet/coin_selection/struct.BranchAndBoundCoinSelection.html">wallet::coin_selection::BranchAndBoundCoinSelection</a></li><li><a href="wallet/coin_selection/struct.CoinSelectionResult.html">wallet::coin_selection::CoinSelectionResult</a></li><li><a href="wallet/coin_selection/struct.LargestFirstCoinSelection.html">wallet::coin_selection::LargestFirstCoinSelection</a></li><li><a href="wallet/export/struct.WalletExport.html">wallet::export::WalletExport</a></li><li><a href="wallet/signer/struct.SignerOrdering.html">wallet::signer::SignerOrdering</a></li><li><a href="wallet/signer/struct.SignersContainer.html">wallet::signer::SignersContainer</a></li><li><a href="wallet/tx_builder/struct.BumpFee.html">wallet::tx_builder::BumpFee</a></li><li><a href="wallet/tx_builder/struct.CreateTx.html">wallet::tx_builder::CreateTx</a></li><li><a href="wallet/tx_builder/struct.TxBuilder.html">wallet::tx_builder::TxBuilder</a></li></ul><h3 id="Enums">Enums</h3><ul class="enums docblock"><li><a href="enum.Error.html">Error</a></li><li><a href="enum.KeychainKind.html">KeychainKind</a></li><li><a href="enum.Utxo.html">Utxo</a></li><li><a href="blockchain/enum.Capability.html">blockchain::Capability</a></li><li><a href="blockchain/any/enum.AnyBlockchain.html">blockchain::any::AnyBlockchain</a></li><li><a href="blockchain/any/enum.AnyBlockchainConfig.html">blockchain::any::AnyBlockchainConfig</a></li><li><a href="blockchain/compact_filters/enum.CompactFiltersError.html">blockchain::compact_filters::CompactFiltersError</a></li><li><a href="blockchain/esplora/enum.EsploraError.html">blockchain::esplora::EsploraError</a></li><li><a href="database/any/enum.AnyBatch.html">database::any::AnyBatch</a></li><li><a href="database/any/enum.AnyDatabase.html">database::any::AnyDatabase</a></li><li><a href="database/any/enum.AnyDatabaseConfig.html">database::any::AnyDatabaseConfig</a></li><li><a href="descriptor/enum.Descriptor.html">descriptor::Descriptor</a></li><li><a href="descriptor/enum.Legacy.html">descriptor::Legacy</a></li><li><a href="descriptor/enum.Segwitv0.html">descriptor::Segwitv0</a></li><li><a href="descriptor/error/enum.Error.html">descriptor::error::Error</a></li><li><a href="descriptor/policy/enum.PolicyError.html">descriptor::policy::PolicyError</a></li><li><a href="descriptor/policy/enum.Satisfaction.html">descriptor::policy::Satisfaction</a></li><li><a href="descriptor/policy/enum.SatisfiableItem.html">descriptor::policy::SatisfiableItem</a></li><li><a href="keys/enum.DescriptorKey.html">keys::DescriptorKey</a></li><li><a href="keys/enum.DescriptorPublicKey.html">keys::DescriptorPublicKey</a></li><li><a href="keys/enum.DescriptorSecretKey.html">keys::DescriptorSecretKey</a></li><li><a href="keys/enum.ExtendedKey.html">keys::ExtendedKey</a></li><li><a href="keys/enum.KeyError.html">keys::KeyError</a></li><li><a href="keys/enum.ScriptContextEnum.html">keys::ScriptContextEnum</a></li><li><a href="keys/bip39/enum.Language.html">keys::bip39::Language</a></li><li><a href="keys/bip39/enum.MnemonicType.html">keys::bip39::MnemonicType</a></li><li><a href="wallet/enum.AddressIndex.html">wallet::AddressIndex</a></li><li><a href="wallet/address_validator/enum.AddressValidatorError.html">wallet::address_validator::AddressValidatorError</a></li><li><a href="wallet/signer/enum.SignerError.html">wallet::signer::SignerError</a></li><li><a href="wallet/signer/enum.SignerId.html">wallet::signer::SignerId</a></li><li><a href="wallet/tx_builder/enum.ChangeSpendPolicy.html">wallet::tx_builder::ChangeSpendPolicy</a></li><li><a href="wallet/tx_builder/enum.TxOrdering.html">wallet::tx_builder::TxOrdering</a></li></ul><h3 id="Traits">Traits</h3><ul class="traits docblock"><li><a href="blockchain/trait.Blockchain.html">blockchain::Blockchain</a></li><li><a href="blockchain/trait.ConfigurableBlockchain.html">blockchain::ConfigurableBlockchain</a></li><li><a href="blockchain/trait.Progress.html">blockchain::Progress</a></li><li><a href="database/trait.BatchDatabase.html">database::BatchDatabase</a></li><li><a href="database/trait.BatchOperations.html">database::BatchOperations</a></li><li><a href="database/trait.ConfigurableDatabase.html">database::ConfigurableDatabase</a></li><li><a href="database/trait.Database.html">database::Database</a></li><li><a href="descriptor/trait.ExtractPolicy.html">descriptor::ExtractPolicy</a></li><li><a href="descriptor/trait.IntoWalletDescriptor.html">descriptor::IntoWalletDescriptor</a></li><li><a href="descriptor/trait.ScriptContext.html">descriptor::ScriptContext</a></li><li><a href="descriptor/template/trait.DescriptorTemplate.html">descriptor::template::DescriptorTemplate</a></li><li><a href="keys/trait.DerivableKey.html">keys::DerivableKey</a></li><li><a href="keys/trait.ExtScriptContext.html">keys::ExtScriptContext</a></li><li><a href="keys/trait.GeneratableDefaultOptions.html">keys::GeneratableDefaultOptions</a></li><li><a href="keys/trait.GeneratableKey.html">keys::GeneratableKey</a></li><li><a href="keys/trait.IntoDescriptorKey.html">keys::IntoDescriptorKey</a></li><li><a href="keys/trait.ScriptContext.html">keys::ScriptContext</a></li><li><a href="wallet/trait.IsDust.html">wallet::IsDust</a></li><li><a href="wallet/address_validator/trait.AddressValidator.html">wallet::address_validator::AddressValidator</a></li><li><a href="wallet/coin_selection/trait.CoinSelectionAlgorithm.html">wallet::coin_selection::CoinSelectionAlgorithm</a></li><li><a href="wallet/signer/trait.Signer.html">wallet::signer::Signer</a></li><li><a href="wallet/tx_builder/trait.TxBuilderContext.html">wallet::tx_builder::TxBuilderContext</a></li></ul><h3 id="Macros">Macros</h3><ul class="macros docblock"><li><a href="macro.descriptor.html">descriptor</a></li><li><a href="macro.fragment.html">fragment</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="blockchain/fn.log_progress.html">blockchain::log_progress</a></li><li><a href="blockchain/fn.noop_progress.html">blockchain::noop_progress</a></li><li><a href="blockchain/fn.progress.html">blockchain::progress</a></li><li><a href="descriptor/checksum/fn.get_checksum.html">descriptor::checksum::get_checksum</a></li><li><a href="keys/fn.any_network.html">keys::any_network</a></li><li><a href="keys/fn.mainnet_network.html">keys::mainnet_network</a></li><li><a href="keys/fn.merge_networks.html">keys::merge_networks</a></li><li><a href="keys/fn.test_networks.html">keys::test_networks</a></li><li><a href="fn.version.html">version</a></li><li><a href="wallet/time/fn.get_timestamp.html">wallet::time::get_timestamp</a></li></ul><h3 id="Typedefs">Typedefs</h3><ul class="typedefs docblock"><li><a href="blockchain/type.ProgressData.html">blockchain::ProgressData</a></li><li><a href="descriptor/type.DerivedDescriptor.html">descriptor::DerivedDescriptor</a></li><li><a href="descriptor/type.ExtendedDescriptor.html">descriptor::ExtendedDescriptor</a></li><li><a href="descriptor/type.HdKeyPaths.html">descriptor::HdKeyPaths</a></li><li><a href="descriptor/type.KeyMap.html">descriptor::KeyMap</a></li><li><a href="descriptor/policy/type.ConditionMap.html">descriptor::policy::ConditionMap</a></li><li><a href="descriptor/policy/type.FoldedConditionMap.html">descriptor::policy::FoldedConditionMap</a></li><li><a href="descriptor/template/type.DescriptorTemplateOut.html">descriptor::template::DescriptorTemplateOut</a></li><li><a href="keys/type.KeyMap.html">keys::KeyMap</a></li><li><a href="keys/type.ValidNetworks.html">keys::ValidNetworks</a></li><li><a href="keys/bip39/type.MnemonicWithPassphrase.html">keys::bip39::MnemonicWithPassphrase</a></li><li><a href="wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html">wallet::coin_selection::DefaultCoinSelectionAlgorithm</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<!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="Type that can contain any of the [`Blockchain`] types defined by the library"><meta name="keywords" content="rust, rustlang, rust-lang, AnyBlockchain"><title>bdk::blockchain::any::AnyBlockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Esplora">Esplora</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-From%3CCompactFiltersBlockchain%3E">From<CompactFiltersBlockchain></a><a href="#impl-From%3CElectrumBlockchain%3E">From<ElectrumBlockchain></a><a href="#impl-From%3CEsploraBlockchain%3E">From<EsploraBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBlockchain" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBlockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#106-119" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBlockchain {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Esplora">Esplora</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-From%3CCompactFiltersBlockchain%3E">From<CompactFiltersBlockchain></a><a href="#impl-From%3CElectrumBlockchain%3E">From<ElectrumBlockchain></a><a href="#impl-From%3CEsploraBlockchain%3E">From<EsploraBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBlockchain" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBlockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#106-119" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBlockchain {
Electrum(<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>),
Esplora(<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>),
CompactFilters(<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>),
<div id="variant.Electrum" class="variant small-section-header"><a href="#variant.Electrum" class="anchor field"></a><code>Electrum(<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Electrum client</p>
</div><div id="variant.Esplora" class="variant small-section-header"><a href="#variant.Esplora" class="anchor field"></a><code>Esplora(<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Esplora client</p>
</div><div id="variant.CompactFilters" class="variant small-section-header"><a href="#variant.CompactFilters" class="anchor field"></a><code>CompactFilters(<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Compact filters client</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#122-169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#123-125" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
-</div><h4 id="method.setup" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#127-140" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
-</div><h4 id="method.sync" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#141-154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#156-158" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
-</div><h4 id="method.broadcast" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#159-161" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
-</div><h4 id="method.get_height" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#163-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
-</div><h4 id="method.estimate_fee" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#166-168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
-</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#223-242" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#226-241" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-From%3CCompactFiltersBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CCompactFiltersBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CElectrumBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CElectrumBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CEsploraBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CEsploraBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#122-169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#123-125" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
+</div><h4 id="method.setup" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#127-140" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
+</div><h4 id="method.sync" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#141-154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#156-158" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
+</div><h4 id="method.broadcast" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#159-161" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
+</div><h4 id="method.get_height" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#163-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
+</div><h4 id="method.estimate_fee" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#166-168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
+</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#223-242" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#226-241" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-From%3CCompactFiltersBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CCompactFiltersBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CElectrumBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CElectrumBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CEsploraBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CEsploraBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type that can contain any of the blockchain configurations defined by the library"><meta name="keywords" content="rust, rustlang, rust-lang, AnyBlockchainConfig"><title>bdk::blockchain::any::AnyBlockchainConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Esplora">Esplora</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E">From<CompactFiltersBlockchainConfig></a><a href="#impl-From%3CElectrumBlockchainConfig%3E">From<ElectrumBlockchainConfig></a><a href="#impl-From%3CEsploraBlockchainConfig%3E">From<EsploraBlockchainConfig></a><a href="#impl-PartialEq%3CAnyBlockchainConfig%3E">PartialEq<AnyBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBlockchainConfig" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBlockchainConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#208-221" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBlockchainConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Esplora">Esplora</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E">From<CompactFiltersBlockchainConfig></a><a href="#impl-From%3CElectrumBlockchainConfig%3E">From<ElectrumBlockchainConfig></a><a href="#impl-From%3CEsploraBlockchainConfig%3E">From<EsploraBlockchainConfig></a><a href="#impl-PartialEq%3CAnyBlockchainConfig%3E">PartialEq<AnyBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBlockchainConfig" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBlockchainConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#208-221" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBlockchainConfig {
Electrum(<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>),
Esplora(<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>),
CompactFilters(<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>),
<p>This type can be serialized from a JSON object like:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">blockchain</span>::{<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>};
-<span class="kw">let</span> <span class="ident">config</span>: <span class="ident">AnyBlockchainConfig</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(
+<span class="kw">use</span> <span class="ident">bdk::blockchain</span>::{<span class="ident">electrum::ElectrumBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>};
+<span class="kw">let</span> <span class="ident">config</span>: <span class="ident">AnyBlockchainConfig</span> <span class="op">=</span> <span class="ident">serde_json::from_str</span>(
<span class="string">r#"{
"type" : "electrum",
"url" : "ssl://electrum.blockstream.info:50002",
}"#</span>,
)
.<span class="ident">unwrap</span>();
-<span class="macro">assert_eq</span><span class="macro">!</span>(
+<span class="macro">assert_eq!</span>(
<span class="ident">config</span>,
- <span class="ident">AnyBlockchainConfig</span>::<span class="ident">Electrum</span>(<span class="ident">ElectrumBlockchainConfig</span> {
+ <span class="ident">AnyBlockchainConfig::Electrum</span>(<span class="ident">ElectrumBlockchainConfig</span> {
<span class="ident">url</span>: <span class="string">"ssl://electrum.blockstream.info:50002"</span>.<span class="ident">into</span>(),
<span class="ident">retry</span>: <span class="number">2</span>,
<span class="ident">socks5</span>: <span class="prelude-val">None</span>,
<div id="variant.Electrum" class="variant small-section-header"><a href="#variant.Electrum" class="anchor field"></a><code>Electrum(<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Electrum client</p>
</div><div id="variant.Esplora" class="variant small-section-header"><a href="#variant.Esplora" class="anchor field"></a><code>Esplora(<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Esplora client</p>
</div><div id="variant.CompactFilters" class="variant small-section-header"><a href="#variant.CompactFilters" class="anchor field"></a><code>CompactFilters(<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Compact filters client</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CAnyBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-PartialEq%3CAnyBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CAnyBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-PartialEq%3CAnyBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#206" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Runtime-checked blockchain types"><meta name="keywords" content="rust, rustlang, rust-lang, any"><title>bdk::blockchain::any - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module any</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="any" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">any</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#12-246" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Runtime-checked blockchain types</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module any</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="any" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">any</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#12-246" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Runtime-checked blockchain types</p>
<p>This module provides the implementation of <a href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="AnyBlockchain"><code>AnyBlockchain</code></a> which allows switching the
inner <a href="../../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a> type at runtime.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
assigned to a struct member.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">electrum_blockchain</span> <span class="op">=</span> <span class="ident">ElectrumBlockchain</span>::<span class="ident">from</span>(<span class="ident">electrum_client</span>::<span class="ident">Client</span>::<span class="ident">new</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>);
-<span class="kw">let</span> <span class="ident">wallet_electrum</span>: <span class="ident">Wallet</span><span class="op"><</span><span class="ident">AnyBlockchain</span>, <span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new</span>(
+<span class="kw">let</span> <span class="ident">electrum_blockchain</span> <span class="op">=</span> <span class="ident">ElectrumBlockchain::from</span>(<span class="ident">electrum_client::Client::new</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>);
+<span class="kw">let</span> <span class="ident">wallet_electrum</span>: <span class="ident">Wallet</span><span class="op"><</span><span class="ident">AnyBlockchain</span>, <span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">Wallet::new</span>(
<span class="string">"..."</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
<span class="ident">electrum_blockchain</span>.<span class="ident">into</span>(),
)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">esplora_blockchain</span> <span class="op">=</span> <span class="ident">EsploraBlockchain</span>::<span class="ident">new</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>);
-<span class="kw">let</span> <span class="ident">wallet_esplora</span>: <span class="ident">Wallet</span><span class="op"><</span><span class="ident">AnyBlockchain</span>, <span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new</span>(
+<span class="kw">let</span> <span class="ident">esplora_blockchain</span> <span class="op">=</span> <span class="ident">EsploraBlockchain::new</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>);
+<span class="kw">let</span> <span class="ident">wallet_esplora</span>: <span class="ident">Wallet</span><span class="op"><</span><span class="ident">AnyBlockchain</span>, <span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">Wallet::new</span>(
<span class="string">"..."</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
<span class="ident">esplora_blockchain</span>.<span class="ident">into</span>(),
)<span class="question-mark">?</span>;
</pre></div>
blockchain type supported using a single line of code:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">config</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">AnyBlockchain</span>::<span class="ident">from_config</span>(<span class="kw-2">&</span><span class="ident">config</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new</span>(
+<span class="kw">let</span> <span class="ident">config</span> <span class="op">=</span> <span class="ident">serde_json::from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">AnyBlockchain::from_config</span>(<span class="kw-2">&</span><span class="ident">config</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new</span>(
<span class="string">"..."</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
<span class="ident">blockchain</span>,
)<span class="question-mark">?</span>;</pre></div>
</div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<!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="An error that can occur during sync with a [`CompactFiltersBlockchain`]"><meta name="keywords" content="rust, rustlang, rust-lang, CompactFiltersError"><title>bdk::blockchain::compact_filters::CompactFiltersError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum CompactFiltersError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip158">Bip158</a><a href="#variant.DataCorruption">DataCorruption</a><a href="#variant.Db">Db</a><a href="#variant.Global">Global</a><a href="#variant.InvalidFilter">InvalidFilter</a><a href="#variant.InvalidFilterHeader">InvalidFilterHeader</a><a href="#variant.InvalidHeaders">InvalidHeaders</a><a href="#variant.InvalidResponse">InvalidResponse</a><a href="#variant.Io">Io</a><a href="#variant.MissingBlock">MissingBlock</a><a href="#variant.NoPeers">NoPeers</a><a href="#variant.NotConnected">NotConnected</a><a href="#variant.PeerBloomDisabled">PeerBloomDisabled</a><a href="#variant.Time">Time</a><a href="#variant.Timeout">Timeout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CCompactFiltersError%3E">From<CompactFiltersError></a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CSystemTimeError%3E">From<SystemTimeError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="enum" href="">CompactFiltersError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#515-550" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum CompactFiltersError {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum CompactFiltersError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip158">Bip158</a><a href="#variant.DataCorruption">DataCorruption</a><a href="#variant.Db">Db</a><a href="#variant.Global">Global</a><a href="#variant.InvalidFilter">InvalidFilter</a><a href="#variant.InvalidFilterHeader">InvalidFilterHeader</a><a href="#variant.InvalidHeaders">InvalidHeaders</a><a href="#variant.InvalidResponse">InvalidResponse</a><a href="#variant.Io">Io</a><a href="#variant.MissingBlock">MissingBlock</a><a href="#variant.NoPeers">NoPeers</a><a href="#variant.NotConnected">NotConnected</a><a href="#variant.PeerBloomDisabled">PeerBloomDisabled</a><a href="#variant.Time">Time</a><a href="#variant.Timeout">Timeout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CCompactFiltersError%3E">From<CompactFiltersError></a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CSystemTimeError%3E">From<SystemTimeError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="enum" href="">CompactFiltersError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#515-550" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum CompactFiltersError {
InvalidResponse,
InvalidHeaders,
InvalidFilterHeader,
</div><div id="variant.Bip158" class="variant small-section-header"><a href="#variant.Bip158" class="anchor field"></a><code>Bip158(Error)</code></div><div class="docblock"><p>Invalid BIP158 filter</p>
</div><div id="variant.Time" class="variant small-section-header"><a href="#variant.Time" class="anchor field"></a><code>Time(<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTimeError.html" title="struct std::time::SystemTimeError">SystemTimeError</a>)</code></div><div class="docblock"><p>Internal system time error</p>
</div><div id="variant.Global" class="variant small-section-header"><a href="#variant.Global" class="anchor field"></a><code>Global(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><<a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>)</code></div><div class="docblock"><p>Wrapper for <a href="../../../bdk/enum.Error.html" title="crate::error::Error"><code>crate::error::Error</code></a></p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#514" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#514" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#552-556" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#553-555" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#558" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CCompactFiltersError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CCompactFiltersError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#184-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#185-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#560" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#560" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#561" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#561" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#562" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#562" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#565-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#566-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CSystemTimeError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTimeError.html" title="struct std::time::SystemTimeError">SystemTimeError</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CSystemTimeError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#563" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTimeError.html" title="struct std::time::SystemTimeError">SystemTimeError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#563" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#514" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#514" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#552-556" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#553-555" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#558" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CCompactFiltersError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CCompactFiltersError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#184-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#185-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#560" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#560" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#561" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/error/struct.Error.html" title="struct std::io::error::Error">Error</a>) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#561" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#562" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#562" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#565-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>) -> Self</code><a href="#method.from-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#566-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CSystemTimeError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTimeError.html" title="struct std::time::SystemTimeError">SystemTimeError</a>> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CSystemTimeError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#563" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/std/time/struct.SystemTimeError.html" title="struct std::time::SystemTimeError">SystemTimeError</a>) -> Self</code><a href="#method.from-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#563" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-6" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Compact Filters"><meta name="keywords" content="rust, rustlang, rust-lang, compact_filters"><title>bdk::blockchain::compact_filters - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module compact_filters</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="compact_filters" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">compact_filters</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#12-569" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Compact Filters</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module compact_filters</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="compact_filters" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">compact_filters</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#12-569" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Compact Filters</p>
<p>This module contains a multithreaded implementation of an <a href="../../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a> backend that
uses BIP157 (aka “Neutrino”) to populate the wallet’s <a href="../../../bdk/database/trait.Database.html">database</a>
by downloading compact filters from the P2P network.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">let</span> <span class="ident">num_threads</span> <span class="op">=</span> <span class="number">4</span>;
-<span class="kw">let</span> <span class="ident">mempool</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Mempool</span>::<span class="ident">default</span>());
+<span class="kw">let</span> <span class="ident">mempool</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">Mempool::default</span>());
<span class="kw">let</span> <span class="ident">peers</span> <span class="op">=</span> (<span class="number">0</span>..<span class="ident">num_threads</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
- <span class="ident">Peer</span>::<span class="ident">connect</span>(
+ <span class="ident">Peer::connect</span>(
<span class="string">"btcd-mainnet.lightning.computer:8333"</span>,
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>),
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>),
+ <span class="ident">Network::Bitcoin</span>,
)
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">CompactFiltersBlockchain</span>::<span class="ident">new</span>(<span class="ident">peers</span>, <span class="string">"./wallet-filters"</span>, <span class="prelude-val">Some</span>(<span class="number">500_000</span>))<span class="question-mark">?</span>;</pre></div>
+<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">CompactFiltersBlockchain::new</span>(<span class="ident">peers</span>, <span class="string">"./wallet-filters"</span>, <span class="prelude-val">Some</span>(<span class="number">500_000</span>))<span class="question-mark">?</span>;</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.BitcoinPeerConfig.html" title="bdk::blockchain::compact_filters::BitcoinPeerConfig struct">BitcoinPeerConfig</a></td><td class="docblock-short"><p>Data to connect to a Bitcoin P2P peer</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.CompactFiltersBlockchain.html" title="bdk::blockchain::compact_filters::CompactFiltersBlockchain struct">CompactFiltersBlockchain</a></td><td class="docblock-short"><p>Structure implementing the required blockchain traits</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="Data to connect to a Bitcoin P2P peer"><meta name="keywords" content="rust, rustlang, rust-lang, BitcoinPeerConfig"><title>bdk::blockchain::compact_filters::BitcoinPeerConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BitcoinPeerConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.address">address</a><a href="#structfield.socks5">socks5</a><a href="#structfield.socks5_credentials">socks5_credentials</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-PartialEq%3CBitcoinPeerConfig%3E">PartialEq<BitcoinPeerConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="BitcoinPeerConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">BitcoinPeerConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#460-467" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BitcoinPeerConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BitcoinPeerConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.address">address</a><a href="#structfield.socks5">socks5</a><a href="#structfield.socks5_credentials">socks5_credentials</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-PartialEq%3CBitcoinPeerConfig%3E">PartialEq<BitcoinPeerConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="BitcoinPeerConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">BitcoinPeerConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#460-467" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BitcoinPeerConfig {
pub address: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub socks5: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
pub socks5_credentials: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>,
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.address" class="structfield small-section-header"><a href="#structfield.address" class="anchor field"></a><code>address: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Peer address such as 127.0.0.1:18333</p>
</div><span id="structfield.socks5" class="structfield small-section-header"><a href="#structfield.socks5" class="anchor field"></a><code>socks5: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>Optional socks5 proxy</p>
</div><span id="structfield.socks5_credentials" class="structfield small-section-header"><a href="#structfield.socks5_credentials" class="anchor field"></a><code>socks5_credentials: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code></span><div class="docblock"><p>Optional socks5 proxy credentials</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CBitcoinPeerConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-PartialEq%3CBitcoinPeerConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CBitcoinPeerConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-PartialEq%3CBitcoinPeerConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#459" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Structure implementing the required blockchain traits"><meta name="keywords" content="rust, rustlang, rust-lang, CompactFiltersBlockchain"><title>bdk::blockchain::compact_filters::CompactFiltersBlockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CompactFiltersBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CCompactFiltersBlockchain%3E">From<CompactFiltersBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">CompactFiltersBlockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#91-95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CompactFiltersBlockchain { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Structure implementing the required blockchain traits</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CompactFiltersBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CCompactFiltersBlockchain%3E">From<CompactFiltersBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">CompactFiltersBlockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#91-95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CompactFiltersBlockchain { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Structure implementing the required blockchain traits</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<p>See the <a href="../../../bdk/blockchain/compact_filters/index.html"><code>blockchain::compact_filters</code></a> module for a usage example.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#97-222" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a><P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>>>(<br> peers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a>>, <br> storage_dir: P, <br> skip_blocks: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#106-140" title="goto source code">[src]</a></h4><div class="docblock"><p>Construct a new instance given a list of peers, a path to store headers and block
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#97-222" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a><P: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/path/struct.Path.html" title="struct std::path::Path">Path</a>>>(<br> peers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a>>, <br> storage_dir: P, <br> skip_blocks: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#106-140" title="goto source code">[src]</a></h4><div class="docblock"><p>Construct a new instance given a list of peers, a path to store headers and block
filters downloaded during the sync and optionally a number of blocks to ignore starting
from the genesis while scanning for the wallet’s outputs.</p>
<p>For each <a href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="Peer"><code>Peer</code></a> specified a new thread will be spawned to download and verify the filters
in parallel. It’s currently recommended to only connect to a single peer to avoid
inconsistencies in the data returned, optionally with multiple connections in parallel to
speed-up the sync process.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#224-456" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#225-227" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
-</div><h4 id="method.setup" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> _stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#230-434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#436-440" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
-</div><h4 id="method.broadcast" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#442-446" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
-</div><h4 id="method.get_height" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#448-450" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
-</div><h4 id="method.estimate_fee" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, _target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#452-455" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
-</div><h4 id="method.sync" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
-</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#482-511" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#485-510" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#90" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#90" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3CCompactFiltersBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CCompactFiltersBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#224-456" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#225-227" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
+</div><h4 id="method.setup" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> _stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#230-434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#436-440" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
+</div><h4 id="method.broadcast" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#442-446" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
+</div><h4 id="method.get_height" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#448-450" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
+</div><h4 id="method.estimate_fee" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, _target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#452-455" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
+</div><h4 id="method.sync" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
+</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#482-511" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#485-510" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#90" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#90" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3CCompactFiltersBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CCompactFiltersBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Configuration for a [`CompactFiltersBlockchain`]"><meta name="keywords" content="rust, rustlang, rust-lang, CompactFiltersBlockchainConfig"><title>bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CompactFiltersBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.network">network</a><a href="#structfield.peers">peers</a><a href="#structfield.skip_blocks">skip_blocks</a><a href="#structfield.storage_dir">storage_dir</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E">From<CompactFiltersBlockchainConfig></a><a href="#impl-PartialEq%3CCompactFiltersBlockchainConfig%3E">PartialEq<CompactFiltersBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">CompactFiltersBlockchainConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#471-480" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CompactFiltersBlockchainConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CompactFiltersBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.network">network</a><a href="#structfield.peers">peers</a><a href="#structfield.skip_blocks">skip_blocks</a><a href="#structfield.storage_dir">storage_dir</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E">From<CompactFiltersBlockchainConfig></a><a href="#impl-PartialEq%3CCompactFiltersBlockchainConfig%3E">PartialEq<CompactFiltersBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="CompactFiltersBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">CompactFiltersBlockchainConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#471-480" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CompactFiltersBlockchainConfig {
pub peers: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.BitcoinPeerConfig.html" title="struct bdk::blockchain::compact_filters::BitcoinPeerConfig">BitcoinPeerConfig</a>>,
pub network: Network,
pub storage_dir: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
</div><span id="structfield.network" class="structfield small-section-header"><a href="#structfield.network" class="anchor field"></a><code>network: Network</code></span><div class="docblock"><p>Network used</p>
</div><span id="structfield.storage_dir" class="structfield small-section-header"><a href="#structfield.storage_dir" class="anchor field"></a><code>storage_dir: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Storage dir to save partially downloaded headers and full blocks</p>
</div><span id="structfield.skip_blocks" class="structfield small-section-header"><a href="#structfield.skip_blocks" class="anchor field"></a><code>skip_blocks: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>></code></span><div class="docblock"><p>Optionally skip initial <code>skip_blocks</code> blocks (default: 0)</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-PartialEq%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CCompactFiltersBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-PartialEq%3CCompactFiltersBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/mod.rs.html#470" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Container for unconfirmed, but valid Bitcoin transactions"><meta name="keywords" content="rust, rustlang, rust-lang, Mempool"><title>bdk::blockchain::compact_filters::Mempool - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Mempool</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_tx">add_tx</a><a href="#method.get_tx">get_tx</a><a href="#method.has_tx">has_tx</a><a href="#method.iter_txs">iter_txs</a><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="Mempool" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">Mempool</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#44" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Mempool(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Container for unconfirmed, but valid Bitcoin transactions</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Mempool</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_tx">add_tx</a><a href="#method.get_tx">get_tx</a><a href="#method.has_tx">has_tx</a><a href="#method.iter_txs">iter_txs</a><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="Mempool" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">Mempool</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#44" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Mempool(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>Container for unconfirmed, but valid Bitcoin transactions</p>
<p>It is normally shared between <a href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="Peer"><code>Peer</code></a>s with the use of <a href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="Arc"><code>Arc</code></a>, so that transactions are not
duplicated in memory.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#58-110" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#60-62" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new empty mempool</p>
-</div><h4 id="method.add_tx" class="method"><code>pub fn <a href="#method.add_tx" class="fnname">add_tx</a>(&self, tx: Transaction)</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#68-73" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a transaction to the mempool</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#58-110" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#60-62" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new empty mempool</p>
+</div><h4 id="method.add_tx" class="method"><code>pub fn <a href="#method.add_tx" class="fnname">add_tx</a>(&self, tx: Transaction)</code><a href="#method.add_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#68-73" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a transaction to the mempool</p>
<p>Note that this doesn’t propagate the transaction to other
peers. To do that, <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast"><code>broadcast</code></a> should be used.</p>
-</div><h4 id="method.get_tx" class="method"><code>pub fn <a href="#method.get_tx" class="fnname">get_tx</a>(&self, inventory: &Inventory) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#76-99" title="goto source code">[src]</a></h4><div class="docblock"><p>Look-up a transaction in the mempool given an [<code>Inventory</code>] request</p>
-</div><h4 id="method.has_tx" class="method"><code>pub fn <a href="#method.has_tx" class="fnname">has_tx</a>(&self, txid: &Txid) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#102-104" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the mempool contains a transaction with a given txid</p>
-</div><h4 id="method.iter_txs" class="method"><code>pub fn <a href="#method.iter_txs" class="fnname">iter_txs</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#107-109" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of transactions contained in the mempool</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.get_tx" class="method"><code>pub fn <a href="#method.get_tx" class="fnname">get_tx</a>(&self, inventory: &Inventory) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#76-99" title="goto source code">[src]</a></h4><div class="docblock"><p>Look-up a transaction in the mempool given an [<code>Inventory</code>] request</p>
+</div><h4 id="method.has_tx" class="method"><code>pub fn <a href="#method.has_tx" class="fnname">has_tx</a>(&self, txid: &Txid) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.has_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#102-104" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the mempool contains a transaction with a given txid</p>
+</div><h4 id="method.iter_txs" class="method"><code>pub fn <a href="#method.iter_txs" class="fnname">iter_txs</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction></code><a href="#method.iter_txs" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#107-109" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of transactions contained in the mempool</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#43" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="A Bitcoin peer"><meta name="keywords" content="rust, rustlang, rust-lang, Peer"><title>bdk::blockchain::compact_filters::Peer - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Peer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.connect">connect</a><a href="#method.connect_proxy">connect_proxy</a><a href="#method.get_mempool">get_mempool</a><a href="#method.get_network">get_network</a><a href="#method.get_version">get_version</a><a href="#method.is_connected">is_connected</a><a href="#method.recv">recv</a><a href="#method.send">send</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="Peer" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">Peer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#114-125" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Peer { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>A Bitcoin peer</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#127-406" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.connect" class="method"><code>pub fn <a href="#method.connect" class="fnname">connect</a><A: <a class="trait" href="https://doc.rust-lang.org/nightly/std/net/addr/trait.ToSocketAddrs.html" title="trait std::net::addr::ToSocketAddrs">ToSocketAddrs</a>>(<br> address: A, <br> mempool: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#132-140" title="goto source code">[src]</a></h4><div class="docblock"><p>Connect to a peer over a plaintext TCP connection</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Peer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.connect">connect</a><a href="#method.connect_proxy">connect_proxy</a><a href="#method.get_mempool">get_mempool</a><a href="#method.get_network">get_network</a><a href="#method.get_version">get_version</a><a href="#method.is_connected">is_connected</a><a href="#method.recv">recv</a><a href="#method.send">send</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a></p><div id="sidebar-vars" data-name="Peer" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">compact_filters</a>::<wbr><a class="struct" href="">Peer</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#114-125" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Peer { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="docblock"><p>A Bitcoin peer</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#127-406" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.connect" class="method"><code>pub fn <a href="#method.connect" class="fnname">connect</a><A: <a class="trait" href="https://doc.rust-lang.org/nightly/std/net/addr/trait.ToSocketAddrs.html" title="trait std::net::addr::ToSocketAddrs">ToSocketAddrs</a>>(<br> address: A, <br> mempool: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a href="#method.connect" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#132-140" title="goto source code">[src]</a></h4><div class="docblock"><p>Connect to a peer over a plaintext TCP connection</p>
<p>This function internally spawns a new thread that will monitor incoming messages from the
peer, and optionally reply to some of them transparently, like <a href="bitcoin::network::message::NetworkMessage::Ping">pings</a></p>
-</div><h4 id="method.connect_proxy" class="method"><code>pub fn <a href="#method.connect_proxy" class="fnname">connect_proxy</a><T: <a class="trait" href="https://docs.rs/socks/0.3.0/socks/trait.ToTargetAddr.html" title="trait socks::ToTargetAddr">ToTargetAddr</a>, P: <a class="trait" href="https://doc.rust-lang.org/nightly/std/net/addr/trait.ToSocketAddrs.html" title="trait std::net::addr::ToSocketAddrs">ToSocketAddrs</a>>(<br> target: T, <br> proxy: P, <br> credentials: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>&<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <br> mempool: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#147-161" title="goto source code">[src]</a></h4><div class="docblock"><p>Connect to a peer through a SOCKS5 proxy, optionally by using some credentials, specified
+</div><h4 id="method.connect_proxy" class="method"><code>pub fn <a href="#method.connect_proxy" class="fnname">connect_proxy</a><T: <a class="trait" href="https://docs.rs/socks/0.3.0/socks/trait.ToTargetAddr.html" title="trait socks::ToTargetAddr">ToTargetAddr</a>, P: <a class="trait" href="https://doc.rust-lang.org/nightly/std/net/addr/trait.ToSocketAddrs.html" title="trait std::net::addr::ToSocketAddrs">ToSocketAddrs</a>>(<br> target: T, <br> proxy: P, <br> credentials: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>&<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <br> mempool: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a href="#method.connect_proxy" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#147-161" title="goto source code">[src]</a></h4><div class="docblock"><p>Connect to a peer through a SOCKS5 proxy, optionally by using some credentials, specified
as a tuple of <code>(username, password)</code></p>
<p>This function internally spawns a new thread that will monitor incoming messages from the
peer, and optionally reply to some of them transparently, like <a href="NetworkMessage::Ping">pings</a></p>
-</div><h4 id="method.get_version" class="method"><code>pub fn <a href="#method.get_version" class="fnname">get_version</a>(&self) -> &VersionMessage</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#288-290" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the [<code>VersionMessage</code>] sent by the peer</p>
-</div><h4 id="method.get_network" class="method"><code>pub fn <a href="#method.get_network" class="fnname">get_network</a>(&self) -> Network</code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#293-295" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the Bitcoin [<code>Network</code>] in use</p>
-</div><h4 id="method.get_mempool" class="method"><code>pub fn <a href="#method.get_mempool" class="fnname">get_mempool</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#298-300" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the mempool used by this peer</p>
-</div><h4 id="method.is_connected" class="method"><code>pub fn <a href="#method.is_connected" class="fnname">is_connected</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#303-305" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the peer is still connected</p>
-</div><h4 id="method.send" class="method"><code>pub fn <a href="#method.send" class="fnname">send</a>(&self, payload: NetworkMessage) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#393-396" title="goto source code">[src]</a></h4><div class="docblock"><p>Send a raw Bitcoin message to the peer</p>
-</div><h4 id="method.recv" class="method"><code>pub fn <a href="#method.recv" class="fnname">recv</a>(<br> &self, <br> wait_for: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> timeout: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><NetworkMessage>, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#399-405" title="goto source code">[src]</a></h4><div class="docblock"><p>Waits for a specific incoming Bitcoin message, optionally with a timeout</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#113" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#113" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.get_version" class="method"><code>pub fn <a href="#method.get_version" class="fnname">get_version</a>(&self) -> &VersionMessage</code><a href="#method.get_version" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#288-290" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the [<code>VersionMessage</code>] sent by the peer</p>
+</div><h4 id="method.get_network" class="method"><code>pub fn <a href="#method.get_network" class="fnname">get_network</a>(&self) -> Network</code><a href="#method.get_network" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#293-295" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the Bitcoin [<code>Network</code>] in use</p>
+</div><h4 id="method.get_mempool" class="method"><code>pub fn <a href="#method.get_mempool" class="fnname">get_mempool</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><<a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Mempool.html" title="struct bdk::blockchain::compact_filters::Mempool">Mempool</a>></code><a href="#method.get_mempool" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#298-300" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the mempool used by this peer</p>
+</div><h4 id="method.is_connected" class="method"><code>pub fn <a href="#method.is_connected" class="fnname">is_connected</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_connected" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#303-305" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the peer is still connected</p>
+</div><h4 id="method.send" class="method"><code>pub fn <a href="#method.send" class="fnname">send</a>(&self, payload: NetworkMessage) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a href="#method.send" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#393-396" title="goto source code">[src]</a></h4><div class="docblock"><p>Send a raw Bitcoin message to the peer</p>
+</div><h4 id="method.recv" class="method"><code>pub fn <a href="#method.recv" class="fnname">recv</a>(<br> &self, <br> wait_for: &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> timeout: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html" title="struct core::time::Duration">Duration</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><NetworkMessage>, <a class="enum" href="../../../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>></code><a href="#method.recv" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#399-405" title="goto source code">[src]</a></h4><div class="docblock"><p>Waits for a specific incoming Bitcoin message, optionally with a timeout</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#113" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/compact_filters/peer.rs.html#113" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/compact_filters/struct.Peer.html" title="struct bdk::blockchain::compact_filters::Peer">Peer</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Electrum"><meta name="keywords" content="rust, rustlang, rust-lang, electrum"><title>bdk::blockchain::electrum - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module electrum</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="electrum" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">electrum</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#12-177" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Electrum</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module electrum</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="electrum" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">electrum</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#12-177" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Electrum</p>
<p>This module defines a <a href="../../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a> struct that wraps an [<code>electrum_client::Client</code>]
and implements the logic required to populate the wallet’s <a href="../../../bdk/database/trait.Database.html">database</a> by
querying the inner client.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">electrum_client</span>::<span class="ident">Client</span>::<span class="ident">new</span>(<span class="string">"ssl://electrum.blockstream.info:50002"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">ElectrumBlockchain</span>::<span class="ident">from</span>(<span class="ident">client</span>);</pre></div>
+<span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">electrum_client::Client::new</span>(<span class="string">"ssl://electrum.blockstream.info:50002"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">ElectrumBlockchain::from</span>(<span class="ident">client</span>);</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.ElectrumBlockchain.html" title="bdk::blockchain::electrum::ElectrumBlockchain struct">ElectrumBlockchain</a></td><td class="docblock-short"><p>Wrapper over an Electrum Client that implements the required blockchain traits</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.ElectrumBlockchainConfig.html" title="bdk::blockchain::electrum::ElectrumBlockchainConfig struct">ElectrumBlockchainConfig</a></td><td class="docblock-short"><p>Configuration for an <a href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="ElectrumBlockchain"><code>ElectrumBlockchain</code></a></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="Wrapper over an Electrum Client that implements the required blockchain traits"><meta name="keywords" content="rust, rustlang, rust-lang, ElectrumBlockchain"><title>bdk::blockchain::electrum::ElectrumBlockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct ElectrumBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-From%3CClient%3E">From<Client></a><a href="#impl-From%3CElectrumBlockchain%3E">From<ElectrumBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a></p><div id="sidebar-vars" data-name="ElectrumBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a>::<wbr><a class="struct" href="">ElectrumBlockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#46" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct ElectrumBlockchain(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Wrapper over an Electrum Client that implements the required blockchain traits</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct ElectrumBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-From%3CClient%3E">From<Client></a><a href="#impl-From%3CElectrumBlockchain%3E">From<ElectrumBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a></p><div id="sidebar-vars" data-name="ElectrumBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a>::<wbr><a class="struct" href="">ElectrumBlockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#46" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct ElectrumBlockchain(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="docblock"><p>Wrapper over an Electrum Client that implements the required blockchain traits</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<p>See the <a href="../../../bdk/blockchain/electrum/index.html"><code>blockchain::electrum</code></a> module for a usage example.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#61-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#62-70" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
-</div><h4 id="method.setup" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#72-80" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#82-84" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
-</div><h4 id="method.broadcast" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#86-88" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
-</div><h4 id="method.get_height" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#90-97" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
-</div><h4 id="method.estimate_fee" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#99-103" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
-</div><h4 id="method.sync" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
-</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#161-177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#164-176" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-From%3CClient%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Client> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-From%3CClient%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#55-59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(client: Client) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#56-58" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CElectrumBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CElectrumBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#61-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#62-70" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
+</div><h4 id="method.setup" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#72-80" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#82-84" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
+</div><h4 id="method.broadcast" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#86-88" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
+</div><h4 id="method.get_height" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#90-97" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
+</div><h4 id="method.estimate_fee" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#99-103" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
+</div><h4 id="method.sync" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
+</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#161-177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#164-176" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-From%3CClient%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Client> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-From%3CClient%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#55-59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(client: Client) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#56-58" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CElectrumBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CElectrumBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Configuration for an [`ElectrumBlockchain`]"><meta name="keywords" content="rust, rustlang, rust-lang, ElectrumBlockchainConfig"><title>bdk::blockchain::electrum::ElectrumBlockchainConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct ElectrumBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.retry">retry</a><a href="#structfield.socks5">socks5</a><a href="#structfield.timeout">timeout</a><a href="#structfield.url">url</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CElectrumBlockchainConfig%3E">From<ElectrumBlockchainConfig></a><a href="#impl-PartialEq%3CElectrumBlockchainConfig%3E">PartialEq<ElectrumBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a></p><div id="sidebar-vars" data-name="ElectrumBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a>::<wbr><a class="struct" href="">ElectrumBlockchainConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#148-159" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct ElectrumBlockchainConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct ElectrumBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.retry">retry</a><a href="#structfield.socks5">socks5</a><a href="#structfield.timeout">timeout</a><a href="#structfield.url">url</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CElectrumBlockchainConfig%3E">From<ElectrumBlockchainConfig></a><a href="#impl-PartialEq%3CElectrumBlockchainConfig%3E">PartialEq<ElectrumBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a></p><div id="sidebar-vars" data-name="ElectrumBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">electrum</a>::<wbr><a class="struct" href="">ElectrumBlockchainConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#148-159" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct ElectrumBlockchainConfig {
pub url: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub socks5: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>,
pub retry: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>,
</div><span id="structfield.socks5" class="structfield small-section-header"><a href="#structfield.socks5" class="anchor field"></a><code>socks5: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code></span><div class="docblock"><p>URL of the socks5 proxy server or a Tor service</p>
</div><span id="structfield.retry" class="structfield small-section-header"><a href="#structfield.retry" class="anchor field"></a><code>retry: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></code></span><div class="docblock"><p>Request retry count</p>
</div><span id="structfield.timeout" class="structfield small-section-header"><a href="#structfield.timeout" class="anchor field"></a><code>timeout: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>></code></span><div class="docblock"><p>Request timeout (seconds)</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-PartialEq%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#244" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CElectrumBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-PartialEq%3CElectrumBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/electrum.rs.html#147" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Capabilities that can be supported by a [`Blockchain`] backend"><meta name="keywords" content="rust, rustlang, rust-lang, Capability"><title>bdk::blockchain::Capability - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Capability</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AccurateFees">AccurateFees</a><a href="#variant.FullHistory">FullHistory</a><a href="#variant.GetAnyTx">GetAnyTx</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq%3CCapability%3E">PartialEq<Capability></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Capability" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="enum" href="">Capability</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#60-67" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Capability {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Capability</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AccurateFees">AccurateFees</a><a href="#variant.FullHistory">FullHistory</a><a href="#variant.GetAnyTx">GetAnyTx</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq%3CCapability%3E">PartialEq<Capability></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Capability" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="enum" href="">Capability</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#60-67" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Capability {
FullHistory,
GetAnyTx,
AccurateFees,
<div id="variant.FullHistory" class="variant small-section-header"><a href="#variant.FullHistory" class="anchor field"></a><code>FullHistory</code></div><div class="docblock"><p>Can recover the full history of a wallet and not only the set of currently spendable UTXOs</p>
</div><div id="variant.GetAnyTx" class="variant small-section-header"><a href="#variant.GetAnyTx" class="anchor field"></a><code>GetAnyTx</code></div><div class="docblock"><p>Can fetch any historical transaction given its txid</p>
</div><div id="variant.AccurateFees" class="variant small-section-header"><a href="#variant.AccurateFees" class="anchor field"></a><code>AccurateFees</code></div><div class="docblock"><p>Can compute accurate fees for the transactions found during sync</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CCapability%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-PartialEq%3CCapability%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CCapability%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-PartialEq%3CCapability%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#59" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Errors that can happen during a sync with [`EsploraBlockchain`]"><meta name="keywords" content="rust, rustlang, rust-lang, EsploraError"><title>bdk::blockchain::esplora::EsploraError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum EsploraError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.BitcoinEncoding">BitcoinEncoding</a><a href="#variant.HeaderHashNotFound">HeaderHashNotFound</a><a href="#variant.HeaderHeightNotFound">HeaderHeightNotFound</a><a href="#variant.Hex">Hex</a><a href="#variant.Parsing">Parsing</a><a href="#variant.Reqwest">Reqwest</a><a href="#variant.TransactionNotFound">TransactionNotFound</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CEsploraError%3E">From<EsploraError></a><a href="#impl-From%3CParseIntError%3E">From<ParseIntError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="enum" href="">EsploraError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#387-403" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum EsploraError {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum EsploraError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.BitcoinEncoding">BitcoinEncoding</a><a href="#variant.HeaderHashNotFound">HeaderHashNotFound</a><a href="#variant.HeaderHeightNotFound">HeaderHeightNotFound</a><a href="#variant.Hex">Hex</a><a href="#variant.Parsing">Parsing</a><a href="#variant.Reqwest">Reqwest</a><a href="#variant.TransactionNotFound">TransactionNotFound</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CEsploraError%3E">From<EsploraError></a><a href="#impl-From%3CParseIntError%3E">From<ParseIntError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="enum" href="">EsploraError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#387-403" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum EsploraError {
Reqwest(<a class="struct" href="https://docs.rs/reqwest/0.11.3/reqwest/error/struct.Error.html" title="struct reqwest::error::Error">Error</a>),
Parsing(<a class="struct" href="https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html" title="struct core::num::error::ParseIntError">ParseIntError</a>),
BitcoinEncoding(Error),
</div><div id="variant.TransactionNotFound" class="variant small-section-header"><a href="#variant.TransactionNotFound" class="anchor field"></a><code>TransactionNotFound(Txid)</code></div><div class="docblock"><p>Transaction not found</p>
</div><div id="variant.HeaderHeightNotFound" class="variant small-section-header"><a href="#variant.HeaderHeightNotFound" class="anchor field"></a><code>HeaderHeightNotFound(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>)</code></div><div class="docblock"><p>Header height not found</p>
</div><div id="variant.HeaderHashNotFound" class="variant small-section-header"><a href="#variant.HeaderHashNotFound" class="anchor field"></a><code>HeaderHashNotFound(BlockHash)</code></div><div class="docblock"><p>Header hash not found</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#386" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#386" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#405-409" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#406-408" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#411" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://docs.rs/reqwest/0.11.3/reqwest/error/struct.Error.html" title="struct reqwest::error::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#413" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://docs.rs/reqwest/0.11.3/reqwest/error/struct.Error.html" title="struct reqwest::error::Error">Error</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#413" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#415" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#415" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#416" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#416" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CEsploraError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CEsploraError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CParseIntError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html" title="struct core::num::error::ParseIntError">ParseIntError</a>> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CParseIntError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#414" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html" title="struct core::num::error::ParseIntError">ParseIntError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#414" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#386" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#386" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#405-409" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#406-408" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#411" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://docs.rs/reqwest/0.11.3/reqwest/error/struct.Error.html" title="struct reqwest::error::Error">Error</a>> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#413" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://docs.rs/reqwest/0.11.3/reqwest/error/struct.Error.html" title="struct reqwest::error::Error">Error</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#413" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#415" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#415" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#416" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#416" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CEsploraError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CEsploraError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CParseIntError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html" title="struct core::num::error::ParseIntError">ParseIntError</a>> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-From%3CParseIntError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#414" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://doc.rust-lang.org/nightly/core/num/error/struct.ParseIntError.html" title="struct core::num::error::ParseIntError">ParseIntError</a>) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#414" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-5" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Esplora"><meta name="keywords" content="rust, rustlang, rust-lang, esplora"><title>bdk::blockchain::esplora - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module esplora</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="esplora" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">esplora</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#12-416" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Esplora</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module esplora</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a></p><div id="sidebar-vars" data-name="esplora" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a class="mod" href="">esplora</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#12-416" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Esplora</p>
<p>This module defines a <a href="../../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a> struct that can query an Esplora backend
populate the wallet’s <a href="../../../bdk/database/trait.Database.html">database</a> by</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">EsploraBlockchain</span>::<span class="ident">new</span>(<span class="string">"https://blockstream.info/testnet/api"</span>, <span class="prelude-val">None</span>);</pre></div>
+<span class="kw">let</span> <span class="ident">blockchain</span> <span class="op">=</span> <span class="ident">EsploraBlockchain::new</span>(<span class="string">"https://blockstream.info/testnet/api"</span>, <span class="prelude-val">None</span>);</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.EsploraBlockchain.html" title="bdk::blockchain::esplora::EsploraBlockchain struct">EsploraBlockchain</a></td><td class="docblock-short"><p>Structure that implements the logic to sync with Esplora</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.EsploraBlockchainConfig.html" title="bdk::blockchain::esplora::EsploraBlockchainConfig struct">EsploraBlockchainConfig</a></td><td class="docblock-short"><p>Configuration for an <a href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="EsploraBlockchain"><code>EsploraBlockchain</code></a></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="Structure that implements the logic to sync with Esplora"><meta name="keywords" content="rust, rustlang, rust-lang, EsploraBlockchain"><title>bdk::blockchain::esplora::EsploraBlockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct EsploraBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CEsploraBlockchain%3E">From<EsploraBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="struct" href="">EsploraBlockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#65" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct EsploraBlockchain(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Structure that implements the logic to sync with Esplora</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct EsploraBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Blockchain">Blockchain</a><a href="#impl-ConfigurableBlockchain">ConfigurableBlockchain</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CEsploraBlockchain%3E">From<EsploraBlockchain></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraBlockchain" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="struct" href="">EsploraBlockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#65" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct EsploraBlockchain(_);</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Structure that implements the logic to sync with Esplora</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<p>See the <a href="../../../bdk/blockchain/esplora/index.html"><code>blockchain::esplora</code></a> module for a usage example.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#73-82" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(base_url: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, concurrency: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#75-81" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of the client from a base URL</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#85-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#86-94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
-</div><h4 id="method.setup" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#96-105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#107-109" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
-</div><h4 id="method.broadcast" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#111-113" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
-</div><h4 id="method.get_height" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#115-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
-</div><h4 id="method.estimate_fee" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#119-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
-</div><h4 id="method.sync" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
-</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#374-383" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#377-382" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#64" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3CEsploraBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CEsploraBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#73-82" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(base_url: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, concurrency: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>) -> Self</code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#75-81" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of the client from a base URL</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#85-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#86-94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the set of <a href="../../../bdk/blockchain/enum.Capability.html" title="Capability"><code>Capability</code></a> supported by this backend</p>
+</div><h4 id="method.setup" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#96-105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Setup the backend and populate the internal database for the first time <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.setup">Read more</a></p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#107-109" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a transaction from the blockchain given its txid</p>
+</div><h4 id="method.broadcast" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#111-113" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Broadcast a transaction</p>
+</div><h4 id="method.get_height" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#115-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the current height</p>
+</div><h4 id="method.estimate_fee" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#119-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Estimate the fee rate required to confirm a transaction in a given <code>target</code> of blocks</p>
+</div><h4 id="method.sync" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/mod.rs.html#110-117" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Populate the internal database with transactions and UTXOs <a href="../../../bdk/blockchain/trait.Blockchain.html#method.sync">Read more</a></p>
+</div></div><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#374-383" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#377-382" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#64" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3CEsploraBlockchain%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-From%3CEsploraBlockchain%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Configuration for an [`EsploraBlockchain`]"><meta name="keywords" content="rust, rustlang, rust-lang, EsploraBlockchainConfig"><title>bdk::blockchain::esplora::EsploraBlockchainConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct EsploraBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.base_url">base_url</a><a href="#structfield.concurrency">concurrency</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CEsploraBlockchainConfig%3E">From<EsploraBlockchainConfig></a><a href="#impl-PartialEq%3CEsploraBlockchainConfig%3E">PartialEq<EsploraBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="struct" href="">EsploraBlockchainConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#365-372" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct EsploraBlockchainConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct EsploraBlockchainConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.base_url">base_url</a><a href="#structfield.concurrency">concurrency</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CEsploraBlockchainConfig%3E">From<EsploraBlockchainConfig></a><a href="#impl-PartialEq%3CEsploraBlockchainConfig%3E">PartialEq<EsploraBlockchainConfig></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a></p><div id="sidebar-vars" data-name="EsploraBlockchainConfig" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">blockchain</a>::<wbr><a href="index.html">esplora</a>::<wbr><a class="struct" href="">EsploraBlockchainConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#365-372" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct EsploraBlockchainConfig {
pub base_url: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub concurrency: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>,
}</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="docblock"><p>Configuration for an <a href="../../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="EsploraBlockchain"><code>EsploraBlockchain</code></a></p>
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.base_url" class="structfield small-section-header"><a href="#structfield.base_url" class="anchor field"></a><code>base_url: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Base URL of the esplora service</p>
<p>eg. <code>https://blockstream.info/api/</code></p>
</div><span id="structfield.concurrency" class="structfield small-section-header"><a href="#structfield.concurrency" class="anchor field"></a><code>concurrency: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>></code></span><div class="docblock"><p>Number of parallel requests sent to the esplora service (default: 4)</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> Self</code><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-PartialEq%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="enum" href="../../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#impl-From%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/any.rs.html#245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CEsploraBlockchainConfig%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-PartialEq%3CEsploraBlockchainConfig%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/blockchain/esplora.rs.html#364" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Create a nwe instance of [`LogProgress`]"><meta name="keywords" content="rust, rustlang, rust-lang, log_progress"><title>bdk::blockchain::log_progress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="log_progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">log_progress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#188-190" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn log_progress() -> <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></pre><div class="docblock"><p>Create a nwe instance of <a href="../../bdk/blockchain/struct.LogProgress.html" title="LogProgress"><code>LogProgress</code></a></p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="log_progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">log_progress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#188-190" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn log_progress() -> <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></pre><div class="docblock"><p>Create a nwe instance of <a href="../../bdk/blockchain/struct.LogProgress.html" title="LogProgress"><code>LogProgress</code></a></p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Create a new instance of [`NoopProgress`]"><meta name="keywords" content="rust, rustlang, rust-lang, noop_progress"><title>bdk::blockchain::noop_progress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="noop_progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">noop_progress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#173-175" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn noop_progress() -> <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></pre><div class="docblock"><p>Create a new instance of <a href="../../bdk/blockchain/struct.NoopProgress.html" title="NoopProgress"><code>NoopProgress</code></a></p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="noop_progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">noop_progress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#173-175" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn noop_progress() -> <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></pre><div class="docblock"><p>Create a new instance of <a href="../../bdk/blockchain/struct.NoopProgress.html" title="NoopProgress"><code>NoopProgress</code></a></p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Shortcut to create a [`channel`] (pair of [`Sender`] and [`Receiver`]) that can transport [`ProgressData`]"><meta name="keywords" content="rust, rustlang, rust-lang, progress"><title>bdk::blockchain::progress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">progress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#153-155" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn progress() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="struct std::sync::mpsc::Sender">Sender</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html" title="struct std::sync::mpsc::Receiver">Receiver</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></pre><div class="docblock"><p>Shortcut to create a <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/fn.channel.html" title="channel"><code>channel</code></a> (pair of <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="Sender"><code>Sender</code></a> and <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html" title="Receiver"><code>Receiver</code></a>) that can transport <a href="../../bdk/blockchain/type.ProgressData.html" title="ProgressData"><code>ProgressData</code></a></p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="progress" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="fn" href="">progress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#153-155" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn progress() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="struct std::sync::mpsc::Sender">Sender</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html" title="struct std::sync::mpsc::Receiver">Receiver</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></pre><div class="docblock"><p>Shortcut to create a <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/fn.channel.html" title="channel"><code>channel</code></a> (pair of <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="Sender"><code>Sender</code></a> and <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html" title="Receiver"><code>Receiver</code></a>) that can transport <a href="../../bdk/blockchain/type.ProgressData.html" title="ProgressData"><code>ProgressData</code></a></p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Blockchain backends"><meta name="keywords" content="rust, rustlang, rust-lang, blockchain"><title>bdk::blockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module blockchain</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="blockchain" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">blockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#12-241" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Blockchain backends</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module blockchain</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="blockchain" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">blockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#12-241" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Blockchain backends</p>
<p>This module provides the implementation of a few commonly-used backends like
<a href="../../bdk/blockchain/electrum/index.html">Electrum</a>, <a href="../../bdk/blockchain/esplora/index.html">Esplora</a> and
<a href="../../bdk/blockchain/compact_filters/index.html">Compact Filters/Neutrino</a>, along with a generalized trait
<!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="Type that implements [`Progress`] and logs at level `INFO` every update received"><meta name="keywords" content="rust, rustlang, rust-lang, LogProgress"><title>bdk::blockchain::LogProgress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct LogProgress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Progress">Progress</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="LogProgress" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="struct" href="">LogProgress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#185" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LogProgress;</pre></div><div class="docblock"><p>Type that implements <a href="../../bdk/blockchain/trait.Progress.html" title="Progress"><code>Progress</code></a> and logs at level <code>INFO</code> every update received</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#184" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#184" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#192-202" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden"><code>fn <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#193-201" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Send a new progress update <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct LogProgress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Progress">Progress</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="LogProgress" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="struct" href="">LogProgress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#185" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LogProgress;</pre></div><div class="docblock"><p>Type that implements <a href="../../bdk/blockchain/trait.Progress.html" title="Progress"><code>Progress</code></a> and logs at level <code>INFO</code> every update received</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#184" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#184" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#192-202" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden trait-impl"><code>fn <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.update" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#193-201" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Send a new progress update <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type that implements [`Progress`] and drops every update received"><meta name="keywords" content="rust, rustlang, rust-lang, NoopProgress"><title>bdk::blockchain::NoopProgress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct NoopProgress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Progress">Progress</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="NoopProgress" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="struct" href="">NoopProgress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#170" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct NoopProgress;</pre></div><div class="docblock"><p>Type that implements <a href="../../bdk/blockchain/trait.Progress.html" title="Progress"><code>Progress</code></a> and drops every update received</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#177-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden"><code>fn <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update" class="fnname">update</a>(&self, _progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, _message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#178-180" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Send a new progress update <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct NoopProgress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Progress">Progress</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="NoopProgress" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="struct" href="">NoopProgress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#170" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct NoopProgress;</pre></div><div class="docblock"><p>Type that implements <a href="../../bdk/blockchain/trait.Progress.html" title="Progress"><code>Progress</code></a> and drops every update received</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#177-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden trait-impl"><code>fn <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update" class="fnname">update</a>(&self, _progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, _message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.update" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#178-180" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Send a new progress update <a href="../../bdk/blockchain/trait.Progress.html#tymethod.update">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait that defines the actions that must be supported by a blockchain backend"><meta name="keywords" content="rust, rustlang, rust-lang, Blockchain"><title>bdk::blockchain::Blockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Blockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.get_capabilities">get_capabilities</a><a href="#tymethod.setup">setup</a><a href="#tymethod.get_tx">get_tx</a><a href="#tymethod.broadcast">broadcast</a><a href="#tymethod.get_height">get_height</a><a href="#tymethod.estimate_fee">estimate_fee</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.sync">sync</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Blockchain-for-Arc%3CT%3E">Arc<T></a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Blockchain" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">Blockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#71-128" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Blockchain {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Blockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.broadcast">broadcast</a><a href="#tymethod.estimate_fee">estimate_fee</a><a href="#tymethod.get_capabilities">get_capabilities</a><a href="#tymethod.get_height">get_height</a><a href="#tymethod.get_tx">get_tx</a><a href="#tymethod.setup">setup</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.sync">sync</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Blockchain-for-Arc%3CT%3E">Arc<T></a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Blockchain" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">Blockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#71-128" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Blockchain {
fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
blockchain, using <a href="../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo"><code>BatchOperations::del_utxo</code></a>.</p>
<p>The <code>progress_update</code> object can be used to give the caller updates about the progress by using
<a href="../../bdk/blockchain/trait.Progress.html#tymethod.update" title="Progress::update"><code>Progress::update</code></a>.</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Blockchain-for-Arc%3CT%3E" class="impl"><code class="in-band">impl<T: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a>> <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T></code><a href="#impl-Blockchain-for-Arc%3CT%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#205-241" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden"><code>fn <a href="#method.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#206-208" title="goto source code">[src]</a></h4><h4 id="method.setup" class="method hidden"><code>fn <a href="#method.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#210-217" title="goto source code">[src]</a></h4><h4 id="method.sync-1" class="method hidden"><code>fn <a href="#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#219-226" title="goto source code">[src]</a></h4><h4 id="method.get_tx" class="method hidden"><code>fn <a href="#method.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#228-230" title="goto source code">[src]</a></h4><h4 id="method.broadcast" class="method hidden"><code>fn <a href="#method.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#231-233" title="goto source code">[src]</a></h4><h4 id="method.get_height" class="method hidden"><code>fn <a href="#method.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#235-237" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee" class="method hidden"><code>fn <a href="#method.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#238-240" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#122-169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities-1" class="method hidden"><code>fn <a href="#method.get_capabilities-1" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#123-125" title="goto source code">[src]</a></h4><h4 id="method.setup-1" class="method hidden"><code>fn <a href="#method.setup-1" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#127-140" title="goto source code">[src]</a></h4><h4 id="method.sync-2" class="method hidden"><code>fn <a href="#method.sync-2" class="fnname">sync</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#141-154" title="goto source code">[src]</a></h4><h4 id="method.get_tx-1" class="method hidden"><code>fn <a href="#method.get_tx-1" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#156-158" title="goto source code">[src]</a></h4><h4 id="method.broadcast-1" class="method hidden"><code>fn <a href="#method.broadcast-1" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#159-161" title="goto source code">[src]</a></h4><h4 id="method.get_height-1" class="method hidden"><code>fn <a href="#method.get_height-1" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#163-165" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-1" class="method hidden"><code>fn <a href="#method.estimate_fee-1" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#166-168" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Blockchain-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#224-456" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-2" class="method hidden"><code>fn <a href="#method.get_capabilities-2" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#225-227" title="goto source code">[src]</a></h4><h4 id="method.setup-2" class="method hidden"><code>fn <a href="#method.setup-2" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> _stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#230-434" title="goto source code">[src]</a></h4><h4 id="method.get_tx-2" class="method hidden"><code>fn <a href="#method.get_tx-2" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#436-440" title="goto source code">[src]</a></h4><h4 id="method.broadcast-2" class="method hidden"><code>fn <a href="#method.broadcast-2" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#442-446" title="goto source code">[src]</a></h4><h4 id="method.get_height-2" class="method hidden"><code>fn <a href="#method.get_height-2" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#448-450" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-2" class="method hidden"><code>fn <a href="#method.estimate_fee-2" class="fnname">estimate_fee</a>(&self, _target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#452-455" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Blockchain-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#61-104" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-3" class="method hidden"><code>fn <a href="#method.get_capabilities-3" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#62-70" title="goto source code">[src]</a></h4><h4 id="method.setup-3" class="method hidden"><code>fn <a href="#method.setup-3" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#72-80" title="goto source code">[src]</a></h4><h4 id="method.get_tx-3" class="method hidden"><code>fn <a href="#method.get_tx-3" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#82-84" title="goto source code">[src]</a></h4><h4 id="method.broadcast-3" class="method hidden"><code>fn <a href="#method.broadcast-3" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#86-88" title="goto source code">[src]</a></h4><h4 id="method.get_height-3" class="method hidden"><code>fn <a href="#method.get_height-3" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#90-97" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-3" class="method hidden"><code>fn <a href="#method.estimate_fee-3" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#99-103" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-3" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Blockchain-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#85-135" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-4" class="method hidden"><code>fn <a href="#method.get_capabilities-4" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#86-94" title="goto source code">[src]</a></h4><h4 id="method.setup-4" class="method hidden"><code>fn <a href="#method.setup-4" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#96-105" title="goto source code">[src]</a></h4><h4 id="method.get_tx-4" class="method hidden"><code>fn <a href="#method.get_tx-4" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#107-109" title="goto source code">[src]</a></h4><h4 id="method.broadcast-4" class="method hidden"><code>fn <a href="#method.broadcast-4" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#111-113" title="goto source code">[src]</a></h4><h4 id="method.get_height-4" class="method hidden"><code>fn <a href="#method.get_height-4" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#115-117" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-4" class="method hidden"><code>fn <a href="#method.estimate_fee-4" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#119-134" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.Blockchain.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Blockchain-for-Arc%3CT%3E" class="impl"><code class="in-band">impl<T: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a>> <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T></code><a href="#impl-Blockchain-for-Arc%3CT%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#205-241" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#206-208" title="goto source code">[src]</a></h4><h4 id="method.setup" class="method hidden trait-impl"><code>fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#210-217" title="goto source code">[src]</a></h4><h4 id="method.sync-1" class="method hidden trait-impl"><code>fn <a href="#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#219-226" title="goto source code">[src]</a></h4><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#228-230" title="goto source code">[src]</a></h4><h4 id="method.broadcast" class="method hidden trait-impl"><code>fn <a href="#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#231-233" title="goto source code">[src]</a></h4><h4 id="method.get_height" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#235-237" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee" class="method hidden trait-impl"><code>fn <a href="#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#238-240" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Blockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-Blockchain" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#122-169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_capabilities-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#123-125" title="goto source code">[src]</a></h4><h4 id="method.setup-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#127-140" title="goto source code">[src]</a></h4><h4 id="method.sync-2" class="method hidden trait-impl"><code>fn <a href="#method.sync" class="fnname">sync</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#141-154" title="goto source code">[src]</a></h4><h4 id="method.get_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#156-158" title="goto source code">[src]</a></h4><h4 id="method.broadcast-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#159-161" title="goto source code">[src]</a></h4><h4 id="method.get_height-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#163-165" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#166-168" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-Blockchain-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#224-456" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#225-227" title="goto source code">[src]</a></h4><h4 id="method.setup-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> _stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#230-434" title="goto source code">[src]</a></h4><h4 id="method.get_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#436-440" title="goto source code">[src]</a></h4><h4 id="method.broadcast-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#442-446" title="goto source code">[src]</a></h4><h4 id="method.get_height-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#448-450" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, _target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#452-455" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-Blockchain-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#61-104" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#62-70" title="goto source code">[src]</a></h4><h4 id="method.setup-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#72-80" title="goto source code">[src]</a></h4><h4 id="method.get_tx-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#82-84" title="goto source code">[src]</a></h4><h4 id="method.broadcast-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#86-88" title="goto source code">[src]</a></h4><h4 id="method.get_height-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#90-97" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#99-103" title="goto source code">[src]</a></h4></div><h3 id="impl-Blockchain-3" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> for <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-Blockchain-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#85-135" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="impl-items"><h4 id="method.get_capabilities-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_capabilities" class="fnname">get_capabilities</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="enum" href="../../bdk/blockchain/enum.Capability.html" title="enum bdk::blockchain::Capability">Capability</a>></code><a href="#method.get_capabilities-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#86-94" title="goto source code">[src]</a></h4><h4 id="method.setup-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.setup" class="fnname">setup</a><D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, P: <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> stop_gap: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>D, <br> progress_update: P<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.setup-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#96-105" title="goto source code">[src]</a></h4><h4 id="method.get_tx-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#107-109" title="goto source code">[src]</a></h4><h4 id="method.broadcast-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.broadcast" class="fnname">broadcast</a>(&self, tx: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#111-113" title="goto source code">[src]</a></h4><h4 id="method.get_height-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_height" class="fnname">get_height</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_height-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#115-117" title="goto source code">[src]</a></h4><h4 id="method.estimate_fee-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.estimate_fee" class="fnname">estimate_fee</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.estimate_fee-4" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#119-134" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.Blockchain.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for [`Blockchain`] types that can be created given a configuration"><meta name="keywords" content="rust, rustlang, rust-lang, ConfigurableBlockchain"><title>bdk::blockchain::ConfigurableBlockchain - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ConfigurableBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Config">Config</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.from_config">from_config</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="ConfigurableBlockchain" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">ConfigurableBlockchain</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#131-137" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ConfigurableBlockchain: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ConfigurableBlockchain</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Config">Config</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.from_config">from_config</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="ConfigurableBlockchain" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">ConfigurableBlockchain</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#131-137" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ConfigurableBlockchain: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
type <a href="#associatedtype.Config" class="type">Config</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>;
fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
}</pre></div><div class="docblock"><p>Trait for <a href="../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a> types that can be created given a configuration</p>
</div><h2 id="associated-types" class="small-section-header">Associated Types<a href="#associated-types" class="anchor"></a></h2><div class="methods"><h3 id="associatedtype.Config" class="method"><code>type <a href="#associatedtype.Config" class="type">Config</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#133" title="goto source code">[src]</a></h3><div class="docblock"><p>Type that contains the configuration</p>
</div></div><span class="loading-content">Loading content...</span><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.from_config" class="method"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#136" title="goto source code">[src]</a></h3><div class="docblock"><p>Create a new instance given a configuration</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#223-242" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-1" class="type"><code>type <a href="#associatedtype.Config-1" class="type">Config</a> = <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code></h4><h4 id="method.from_config" class="method hidden"><code>fn <a href="#method.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#226-241" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-ConfigurableBlockchain-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#482-511" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-2" class="type"><code>type <a href="#associatedtype.Config-2" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code></h4><h4 id="method.from_config-1" class="method hidden"><code>fn <a href="#method.from_config-1" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#485-510" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-ConfigurableBlockchain-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#161-177" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-3" class="type"><code>type <a href="#associatedtype.Config-3" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code></h4><h4 id="method.from_config-2" class="method hidden"><code>fn <a href="#method.from_config-2" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#164-176" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-3" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-ConfigurableBlockchain-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#374-383" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-4" class="type"><code>type <a href="#associatedtype.Config-4" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code></h4><h4 id="method.from_config-3" class="method hidden"><code>fn <a href="#method.from_config-3" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#377-382" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.ConfigurableBlockchain.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ConfigurableBlockchain" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchain.html" title="enum bdk::blockchain::any::AnyBlockchain">AnyBlockchain</a></code><a href="#impl-ConfigurableBlockchain" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#223-242" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-1" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../bdk/blockchain/any/enum.AnyBlockchainConfig.html" title="enum bdk::blockchain::any::AnyBlockchainConfig">AnyBlockchainConfig</a></code><a href="#associatedtype.Config-1" class="anchor"></a></h4><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/any.rs.html#226-241" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchain.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchain">CompactFiltersBlockchain</a></code><a href="#impl-ConfigurableBlockchain-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#482-511" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-2" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/compact_filters/struct.CompactFiltersBlockchainConfig.html" title="struct bdk::blockchain::compact_filters::CompactFiltersBlockchainConfig">CompactFiltersBlockchainConfig</a></code><a href="#associatedtype.Config-2" class="anchor"></a></h4><h4 id="method.from_config-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/compact_filters/mod.rs.html#485-510" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchain.html" title="struct bdk::blockchain::electrum::ElectrumBlockchain">ElectrumBlockchain</a></code><a href="#impl-ConfigurableBlockchain-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#161-177" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>electrum</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-3" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/electrum/struct.ElectrumBlockchainConfig.html" title="struct bdk::blockchain::electrum::ElectrumBlockchainConfig">ElectrumBlockchainConfig</a></code><a href="#associatedtype.Config-3" class="anchor"></a></h4><h4 id="method.from_config-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/electrum.rs.html#164-176" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableBlockchain-3" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html" title="trait bdk::blockchain::ConfigurableBlockchain">ConfigurableBlockchain</a> for <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchain.html" title="struct bdk::blockchain::esplora::EsploraBlockchain">EsploraBlockchain</a></code><a href="#impl-ConfigurableBlockchain-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#374-383" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>esplora</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Config-4" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../bdk/blockchain/esplora/struct.EsploraBlockchainConfig.html" title="struct bdk::blockchain::esplora::EsploraBlockchainConfig">EsploraBlockchainConfig</a></code><a href="#associatedtype.Config-4" class="anchor"></a></h4><h4 id="method.from_config-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/blockchain/trait.ConfigurableBlockchain.html#associatedtype.Config" title="type bdk::blockchain::ConfigurableBlockchain::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config-3" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/esplora.rs.html#377-382" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.ConfigurableBlockchain.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for types that can receive and process progress updates during [`Blockchain::sync`] and [`Blockchain::setup`]"><meta name="keywords" content="rust, rustlang, rust-lang, Progress"><title>bdk::blockchain::Progress - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Progress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.update">update</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Progress-for-Sender%3CProgressData%3E">Sender<ProgressData></a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Progress" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">Progress</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#144-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Progress: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Progress</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.update">update</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Progress-for-Sender%3CProgressData%3E">Sender<ProgressData></a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="Progress" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="trait" href="">Progress</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#144-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Progress: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> {
fn <a href="#tymethod.update" class="fnname">update</a>(<br> &self, <br> progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, <br> message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
}</pre></div><div class="docblock"><p>Trait for types that can receive and process progress updates during <a href="../../bdk/blockchain/trait.Blockchain.html#method.sync" title="Blockchain::sync"><code>Blockchain::sync</code></a> and
<a href="../../bdk/blockchain/trait.Blockchain.html#tymethod.setup" title="Blockchain::setup"><code>Blockchain::setup</code></a></p>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.update" class="method"><code>fn <a href="#tymethod.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#149" title="goto source code">[src]</a></h3><div class="docblock"><p>Send a new progress update</p>
<p>The <code>progress</code> value should be in the range 0.0 - 100.0, and the <code>message</code> value is an
optional text message that can be displayed to the user.</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Progress-for-Sender%3CProgressData%3E" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="struct std::sync::mpsc::Sender">Sender</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>></code><a href="#impl-Progress-for-Sender%3CProgressData%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden"><code>fn <a href="#method.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#158-165" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#192-202" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update-1" class="method hidden"><code>fn <a href="#method.update-1" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#193-201" title="goto source code">[src]</a></h4></div><h3 id="impl-Progress-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Progress-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#177-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update-2" class="method hidden"><code>fn <a href="#method.update-2" class="fnname">update</a>(&self, _progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, _message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#178-180" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.Progress.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Progress-for-Sender%3CProgressData%3E" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="struct std::sync::mpsc::Sender">Sender</a><<a class="type" href="../../bdk/blockchain/type.ProgressData.html" title="type bdk::blockchain::ProgressData">ProgressData</a>></code><a href="#impl-Progress-for-Sender%3CProgressData%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update" class="method hidden trait-impl"><code>fn <a href="#tymethod.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.update" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#158-165" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Progress" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.LogProgress.html" title="struct bdk::blockchain::LogProgress">LogProgress</a></code><a href="#impl-Progress" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#192-202" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.update" class="fnname">update</a>(&self, progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.update-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#193-201" title="goto source code">[src]</a></h4></div><h3 id="impl-Progress-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a> for <a class="struct" href="../../bdk/blockchain/struct.NoopProgress.html" title="struct bdk::blockchain::NoopProgress">NoopProgress</a></code><a href="#impl-Progress-1" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#177-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.update-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.update" class="fnname">update</a>(&self, _progress: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, _message: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.update-2" class="anchor"></a><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#178-180" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/blockchain/trait.Progress.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Data sent with a progress update over a [`channel`]"><meta name="keywords" content="rust, rustlang, rust-lang, ProgressData"><title>bdk::blockchain::ProgressData - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ProgressData</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="ProgressData" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="type" href="">ProgressData</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#140" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ProgressData = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="docblock"><p>Data sent with a progress update over a <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/fn.channel.html" title="channel"><code>channel</code></a></p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ProgressData</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a></p><div id="sidebar-vars" data-name="ProgressData" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">blockchain</a>::<wbr><a class="type" href="">ProgressData</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/blockchain/mod.rs.html#140" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ProgressData = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="docblock"><p>Data sent with a progress update over a <a href="https://doc.rust-lang.org/nightly/std/sync/mpsc/fn.channel.html" title="channel"><code>channel</code></a></p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type that contains any of the [`BatchDatabase::Batch`] types defined by the library"><meta name="keywords" content="rust, rustlang, rust-lang, AnyBatch"><title>bdk::database::any::AnyBatch - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBatch</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<MemoryDatabase as BatchDatabase>::Batch></a><a href="#impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<Tree as BatchDatabase>::Batch></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBatch" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBatch</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#91-98" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBatch {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyBatch</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<MemoryDatabase as BatchDatabase>::Batch></a><a href="#impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<Tree as BatchDatabase>::Batch></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyBatch" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyBatch</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#91-98" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyBatch {
Memory(<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>),
Sled(<Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>),
}</pre></div><div class="docblock"><p>Type that contains any of the <a href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="BatchDatabase::Batch"><code>BatchDatabase::Batch</code></a> types defined by the library</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.Memory" class="variant small-section-header"><a href="#variant.Memory" class="anchor field"></a><code>Memory(<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>)</code></div><div class="docblock"><p>In-memory ephemeral database</p>
</div><div id="variant.Sled" class="variant small-section-header"><a href="#variant.Sled" class="anchor field"></a><code>Sled(<Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>key-value-db</code></strong> only.</div></div><div class="docblock"><p>Simple key-value embedded database based on [<code>sled</code>]</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#238-289" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#239-246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
-</div><h4 id="method.set_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#247-249" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
-</div><h4 id="method.set_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#250-252" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
-</div><h4 id="method.set_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#253-255" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
-</div><h4 id="method.set_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#256-258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
-</div><h4 id="method.del_script_pubkey_from_path" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#260-266" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
-</div><h4 id="method.del_path_from_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#267-272" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#238-289" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#239-246" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
+</div><h4 id="method.set_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#247-249" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
+</div><h4 id="method.set_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#250-252" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
+</div><h4 id="method.set_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#253-255" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
+</div><h4 id="method.set_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#256-258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
+</div><h4 id="method.del_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#260-266" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
+</div><h4 id="method.del_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#267-272" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
number. <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey">Read more</a></p>
-</div><h4 id="method.del_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#273-275" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
-</div><h4 id="method.del_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#276-278" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
-</div><h4 id="method.del_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#279-285" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
-</div><h4 id="method.del_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#286-288" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
-</div></div><h3 id="impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.del_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#273-275" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
+</div><h4 id="method.del_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#276-278" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
+</div><h4 id="method.del_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#279-285" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
+</div><h4 id="method.del_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#286-288" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
+</div></div><h3 id="impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CTree%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <Tree as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type that can contain any of the [`Database`] types defined by the library"><meta name="keywords" content="rust, rustlang, rust-lang, AnyDatabase"><title>bdk::database::any::AnyDatabase - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchDatabase">BatchDatabase</a><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-ConfigurableDatabase">ConfigurableDatabase</a><a href="#impl-Database">Database</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CMemoryDatabase%3E">From<MemoryDatabase></a><a href="#impl-From%3CTree%3E">From<Tree></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyDatabase" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyDatabase</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#78-85" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyDatabase {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchDatabase">BatchDatabase</a><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-ConfigurableDatabase">ConfigurableDatabase</a><a href="#impl-Database">Database</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CMemoryDatabase%3E">From<MemoryDatabase></a><a href="#impl-From%3CTree%3E">From<Tree></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyDatabase" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyDatabase</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#78-85" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyDatabase {
Memory(<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>),
Sled(Tree),
}</pre></div><div class="docblock"><p>Type that can contain any of the <a href="../../../bdk/database/trait.Database.html" title="Database"><code>Database</code></a> types defined by the library</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.Memory" class="variant small-section-header"><a href="#variant.Memory" class="anchor field"></a><code>Memory(<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>)</code></div><div class="docblock"><p>In-memory ephemeral database</p>
</div><div id="variant.Sled" class="variant small-section-header"><a href="#variant.Sled" class="anchor field"></a><code>Sled(Tree)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>key-value-db</code></strong> only.</div></div><div class="docblock"><p>Simple key-value embedded database based on [<code>sled</code>]</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#291-315" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch" class="type"><code>type <a href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" class="type">Batch</a> = <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code></h4><div class='docblock'><p>Container for the operations</p>
-</div><h4 id="method.begin_batch" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#294-300" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new batch container</p>
-</div><h4 id="method.commit_batch" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#301-314" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume and apply a batch of operations</p>
-</div></div><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#107-171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#108-122" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
-</div><h4 id="method.set_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#123-125" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
-</div><h4 id="method.set_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#126-128" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
-</div><h4 id="method.set_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#129-131" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
-</div><h4 id="method.set_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#132-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
-</div><h4 id="method.del_script_pubkey_from_path" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#136-148" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
-</div><h4 id="method.del_path_from_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#149-154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#291-315" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch" class="type trait-impl"><code>type <a href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" class="type">Batch</a> = <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#associatedtype.Batch" class="anchor"></a></h4><div class='docblock'><p>Container for the operations</p>
+</div><h4 id="method.begin_batch" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a href="#method.begin_batch" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#294-300" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new batch container</p>
+</div><h4 id="method.commit_batch" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.commit_batch" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#301-314" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume and apply a batch of operations</p>
+</div></div><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#107-171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#108-122" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
+</div><h4 id="method.set_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#123-125" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
+</div><h4 id="method.set_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#126-128" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
+</div><h4 id="method.set_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#129-131" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
+</div><h4 id="method.set_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#132-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
+</div><h4 id="method.del_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#136-148" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
+</div><h4 id="method.del_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#149-154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
number. <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey">Read more</a></p>
-</div><h4 id="method.del_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
-</div><h4 id="method.del_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#158-160" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
-</div><h4 id="method.del_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
-</div><h4 id="method.del_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#168-170" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
-</div></div><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#351-363" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/database/trait.ConfigurableDatabase.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#354-362" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#173-236" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#174-186" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Read and checks the descriptor checksum for a given keychain. <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum">Read more</a></p>
-</div><h4 id="method.iter_script_pubkeys" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#188-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of script_pubkeys</p>
-</div><h4 id="method.iter_utxos" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#191-193" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a>s</p>
-</div><h4 id="method.iter_raw_txs" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#194-196" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of raw transactions</p>
-</div><h4 id="method.iter_txs" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#197-199" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of transactions metadata</p>
-</div><h4 id="method.get_script_pubkey_from_path" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#201-213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a script_pubkey given the child number of a keychain.</p>
-</div><h4 id="method.get_path_from_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#214-219" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the keychain and child number of a given script_pubkey</p>
-</div><h4 id="method.get_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#220-222" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
-</div><h4 id="method.get_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#223-225" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a raw transaction given its [<code>Txid</code>]</p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#226-228" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the transaction metadata and optionally also the raw transaction</p>
-</div><h4 id="method.get_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#229-231" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the last defivation index for a keychain.</p>
-</div><h4 id="method.increment_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#233-235" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Increment the last derivation index for a keychain and return it <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#77" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3CMemoryDatabase%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CMemoryDatabase%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CTree%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Tree> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CTree%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#88" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: Tree) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#88" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.del_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
+</div><h4 id="method.del_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#158-160" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
+</div><h4 id="method.del_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
+</div><h4 id="method.del_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#168-170" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
+</div></div><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#351-363" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.ConfigurableDatabase.html#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#354-362" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#173-236" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.check_descriptor_checksum" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#174-186" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Read and checks the descriptor checksum for a given keychain. <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum">Read more</a></p>
+</div><h4 id="method.iter_script_pubkeys" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_script_pubkeys" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#188-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of script_pubkeys</p>
+</div><h4 id="method.iter_utxos" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_utxos" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#191-193" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a>s</p>
+</div><h4 id="method.iter_raw_txs" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_raw_txs" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#194-196" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of raw transactions</p>
+</div><h4 id="method.iter_txs" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_txs" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#197-199" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of transactions metadata</p>
+</div><h4 id="method.get_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#201-213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a script_pubkey given the child number of a keychain.</p>
+</div><h4 id="method.get_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#214-219" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the keychain and child number of a given script_pubkey</p>
+</div><h4 id="method.get_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#220-222" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
+</div><h4 id="method.get_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#223-225" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a raw transaction given its [<code>Txid</code>]</p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#226-228" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the transaction metadata and optionally also the raw transaction</p>
+</div><h4 id="method.get_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#229-231" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the last defivation index for a keychain.</p>
+</div><h4 id="method.increment_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.increment_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#233-235" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Increment the last derivation index for a keychain and return it <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#77" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3CMemoryDatabase%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CMemoryDatabase%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CTree%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Tree> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CTree%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#88" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: Tree) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#88" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type that can contain any of the database configurations defined by the library"><meta name="keywords" content="rust, rustlang, rust-lang, AnyDatabaseConfig"><title>bdk::database::any::AnyDatabaseConfig - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyDatabaseConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3C()%3E">From<()></a><a href="#impl-From%3CSledDbConfiguration%3E">From<SledDbConfiguration></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyDatabaseConfig" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyDatabaseConfig</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#342-349" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyDatabaseConfig {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AnyDatabaseConfig</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Memory">Memory</a><a href="#variant.Sled">Sled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3C()%3E">From<()></a><a href="#impl-From%3CSledDbConfiguration%3E">From<SledDbConfiguration></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="AnyDatabaseConfig" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="enum" href="">AnyDatabaseConfig</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#342-349" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AnyDatabaseConfig {
Memory(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>),
Sled(<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>),
}</pre></div><div class="docblock"><p>Type that can contain any of the database configurations defined by the library</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.Memory" class="variant small-section-header"><a href="#variant.Memory" class="anchor field"></a><code>Memory(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>)</code></div><div class="docblock"><p>Memory database has no config</p>
</div><div id="variant.Sled" class="variant small-section-header"><a href="#variant.Sled" class="anchor field"></a><code>Sled(<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>)</code></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>key-value-db</code></strong> only.</div></div><div class="docblock"><p>Simple key-value embedded database based on [<code>sled</code>]</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3C()%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3C()%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#365" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#365" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CSledDbConfiguration%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3CSledDbConfiguration%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3C()%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3C()%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#365" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#365" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CSledDbConfiguration%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3CSledDbConfiguration%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#341" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Runtime-checked database types"><meta name="keywords" content="rust, rustlang, rust-lang, any"><title>bdk::database::any - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module any</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a></p><div id="sidebar-vars" data-name="any" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a class="mod" href="">any</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#12-366" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Runtime-checked database types</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module any</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a></p><div id="sidebar-vars" data-name="any" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a class="mod" href="">any</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#12-366" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Runtime-checked database types</p>
<p>This module provides the implementation of <a href="../../../bdk/database/any/enum.AnyDatabase.html" title="AnyDatabase"><code>AnyDatabase</code></a> which allows switching the
inner <a href="../../../bdk/database/trait.Database.html" title="Database"><code>Database</code></a> type at runtime.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<p>In this example, <code>wallet_memory</code> and <code>wallet_sled</code> have the same type of <code>Wallet<(), AnyDatabase></code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">memory</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
-<span class="kw">let</span> <span class="ident">wallet_memory</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">memory</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">memory</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
+<span class="kw">let</span> <span class="ident">wallet_memory</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">memory</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">sled</span> <span class="op">=</span> <span class="ident">sled</span>::<span class="ident">open</span>(<span class="string">"my-database"</span>)<span class="question-mark">?</span>.<span class="ident">open_tree</span>(<span class="string">"default_tree"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet_sled</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">sled</span>)<span class="question-mark">?</span>;</pre></div>
+<span class="kw">let</span> <span class="ident">sled</span> <span class="op">=</span> <span class="ident">sled::open</span>(<span class="string">"my-database"</span>)<span class="question-mark">?</span>.<span class="ident">open_tree</span>(<span class="string">"default_tree"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet_sled</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">sled</span>)<span class="question-mark">?</span>;</pre></div>
<p>When paired with the use of <a href="../../../bdk/database/trait.ConfigurableDatabase.html" title="ConfigurableDatabase"><code>ConfigurableDatabase</code></a>, it allows creating wallets with any
database supported using a single line of code:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">config</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">AnyDatabase</span>::<span class="ident">from_config</span>(<span class="kw-2">&</span><span class="ident">config</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">database</span>)<span class="question-mark">?</span>;</pre></div>
+<span class="kw">let</span> <span class="ident">config</span> <span class="op">=</span> <span class="ident">serde_json::from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">AnyDatabase::from_config</span>(<span class="kw-2">&</span><span class="ident">config</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"..."</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">database</span>)<span class="question-mark">?</span>;</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.SledDbConfiguration.html" title="bdk::database::any::SledDbConfiguration struct">SledDbConfiguration</a></td><td class="docblock-short"><p>Configuration type for a [<code>sled::Tree</code>] database</p>
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<!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="Configuration type for a [`sled::Tree`] database"><meta name="keywords" content="rust, rustlang, rust-lang, SledDbConfiguration"><title>bdk::database::any::SledDbConfiguration - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SledDbConfiguration</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.path">path</a><a href="#structfield.tree_name">tree_name</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CSledDbConfiguration%3E">From<SledDbConfiguration></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="SledDbConfiguration" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="struct" href="">SledDbConfiguration</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#320-325" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SledDbConfiguration {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SledDbConfiguration</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.path">path</a><a href="#structfield.tree_name">tree_name</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-From%3CSledDbConfiguration%3E">From<SledDbConfiguration></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a></p><div id="sidebar-vars" data-name="SledDbConfiguration" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">any</a>::<wbr><a class="struct" href="">SledDbConfiguration</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/any.rs.html#320-325" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SledDbConfiguration {
pub path: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub tree_name: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
}</pre></div><div class="docblock"><p>Configuration type for a [<code>sled::Tree</code>] database</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.path" class="structfield small-section-header"><a href="#structfield.path" class="anchor field"></a><code>path: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Main directory of the db</p>
</div><span id="structfield.tree_name" class="structfield small-section-header"><a href="#structfield.tree_name" class="anchor field"></a><code>tree_name: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Name of the database tree, a separated namespace for the data</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-From%3CSledDbConfiguration%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3CSledDbConfiguration%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-From%3CSledDbConfiguration%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#impl-From%3CSledDbConfiguration%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#366" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Database types"><meta name="keywords" content="rust, rustlang, rust-lang, database"><title>bdk::database - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module database</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="database" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">database</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#12-370" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Database types</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module database</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="database" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">database</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#12-370" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Database types</p>
<p>This module provides the implementation of some defaults database types, along with traits that
can be implemented externally to let <a href="../../bdk/wallet/struct.Wallet.html"><code>Wallet</code></a>s use customized databases.</p>
<p>It’s important to note that the databases defined here only contains “blockchain-related” data.
<!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="In-memory ephemeral database"><meta name="keywords" content="rust, rustlang, rust-lang, memory"><title>bdk::database::memory - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module memory</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a></p><div id="sidebar-vars" data-name="memory" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a class="mod" href="">memory</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/memory.rs.html#12-584" title="goto source code">[src]</a></span></h1><div class="docblock"><p>In-memory ephemeral database</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module memory</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a></p><div id="sidebar-vars" data-name="memory" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a class="mod" href="">memory</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/memory.rs.html#12-584" title="goto source code">[src]</a></span></h1><div class="docblock"><p>In-memory ephemeral database</p>
<p>This module defines an in-memory database type called <a href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="MemoryDatabase"><code>MemoryDatabase</code></a> that is based on a
<a href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="BTreeMap"><code>BTreeMap</code></a>.</p>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!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="In-memory ephemeral database"><meta name="keywords" content="rust, rustlang, rust-lang, MemoryDatabase"><title>bdk::database::memory::MemoryDatabase - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct MemoryDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchDatabase">BatchDatabase</a><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-ConfigurableDatabase">ConfigurableDatabase</a><a href="#impl-Database">Database</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<MemoryDatabase as BatchDatabase>::Batch></a><a href="#impl-From%3CMemoryDatabase%3E">From<MemoryDatabase></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">memory</a></p><div id="sidebar-vars" data-name="MemoryDatabase" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">memory</a>::<wbr><a class="struct" href="">MemoryDatabase</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/memory.rs.html#112-115" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct MemoryDatabase { /* fields omitted */ }</pre></div><div class="docblock"><p>In-memory ephemeral database</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct MemoryDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-BatchDatabase">BatchDatabase</a><a href="#impl-BatchOperations">BatchOperations</a><a href="#impl-ConfigurableDatabase">ConfigurableDatabase</a><a href="#impl-Database">Database</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E">From<<MemoryDatabase as BatchDatabase>::Batch></a><a href="#impl-From%3CMemoryDatabase%3E">From<MemoryDatabase></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">memory</a></p><div id="sidebar-vars" data-name="MemoryDatabase" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">database</a>::<wbr><a href="index.html">memory</a>::<wbr><a class="struct" href="">MemoryDatabase</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/database/memory.rs.html#112-115" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct MemoryDatabase { /* fields omitted */ }</pre></div><div class="docblock"><p>In-memory ephemeral database</p>
<p>This database can be used as a temporary storage for wallets that are not kept permanently on
a device, or on platforms that don’t provide a filesystem, like <code>wasm32</code>.</p>
<p>Once it’s dropped its content will be lost.</p>
<p>If you are looking for a permanent storage solution, you can try with the default key-value
database called [<code>sled</code>]. See the <a href="../../../bdk/database/index.html"><code>database</code></a> module documentation for more defailts.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#117-125" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#119-124" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new empty database</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#424-438" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch" class="type"><code>type <a href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" class="type">Batch</a> = Self</code></h4><div class='docblock'><p>Container for the operations</p>
-</div><h4 id="method.begin_batch" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#427-429" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new batch container</p>
-</div><h4 id="method.commit_batch" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#431-437" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume and apply a batch of operations</p>
-</div></div><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#127-272" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#128-145" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
-</div><h4 id="method.set_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#147-153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
-</div><h4 id="method.set_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#154-159" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
-</div><h4 id="method.set_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#160-175" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
-</div><h4 id="method.set_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#176-181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
-</div><h4 id="method.del_script_pubkey_from_path" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#183-193" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
-</div><h4 id="method.del_path_from_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#194-212" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#117-125" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#119-124" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new empty database</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#424-438" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch" class="type trait-impl"><code>type <a href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" class="type">Batch</a> = Self</code><a href="#associatedtype.Batch" class="anchor"></a></h4><div class='docblock'><p>Container for the operations</p>
+</div><h4 id="method.begin_batch" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a href="#method.begin_batch" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#427-429" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new batch container</p>
+</div><h4 id="method.commit_batch" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchDatabase.html#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.commit_batch" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#431-437" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume and apply a batch of operations</p>
+</div></div><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#127-272" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#128-145" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a script_pubkey along with its keychain and child number.</p>
+</div><h4 id="method.set_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#147-153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a></p>
+</div><h4 id="method.set_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#154-159" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store a raw transaction</p>
+</div><h4 id="method.set_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#160-175" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the metadata of a transaction</p>
+</div><h4 id="method.set_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#176-181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Store the last derivation index for a given keychain.</p>
+</div><h4 id="method.del_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#183-193" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a script_pubkey given the keychain and its child number.</p>
+</div><h4 id="method.del_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#194-212" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the data related to a specific script_pubkey, meaning the keychain and the child
number. <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_path_from_script_pubkey">Read more</a></p>
-</div><h4 id="method.del_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#213-229" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
-</div><h4 id="method.del_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#230-236" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
-</div><h4 id="method.del_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#237-261" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
-</div><h4 id="method.del_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#262-271" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
-</div></div><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#440-446" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type"><code>type <a href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" class="type">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></h4><div class='docblock'><p>Type that contains the configuration</p>
-</div><h4 id="method.from_config" class="method hidden"><code>fn <a href="../../../bdk/database/trait.ConfigurableDatabase.html#tymethod.from_config" class="fnname">from_config</a>(_config: &Self::<a class="type" href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#443-445" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
-</div></div><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#274-422" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#275-296" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Read and checks the descriptor checksum for a given keychain. <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum">Read more</a></p>
-</div><h4 id="method.iter_script_pubkeys" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#298-304" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of script_pubkeys</p>
-</div><h4 id="method.iter_utxos" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#306-320" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a>s</p>
-</div><h4 id="method.iter_raw_txs" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#322-328" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of raw transactions</p>
-</div><h4 id="method.iter_txs" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#330-344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of transactions metadata</p>
-</div><h4 id="method.get_script_pubkey_from_path" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#346-356" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a script_pubkey given the child number of a keychain.</p>
-</div><h4 id="method.get_path_from_script_pubkey" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#358-370" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the keychain and child number of a given script_pubkey</p>
-</div><h4 id="method.get_utxo" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#372-382" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
-</div><h4 id="method.get_raw_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#384-390" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a raw transaction given its [<code>Txid</code>]</p>
-</div><h4 id="method.get_tx" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#392-402" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the transaction metadata and optionally also the raw transaction</p>
-</div><h4 id="method.get_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#404-407" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the last defivation index for a keychain.</p>
-</div><h4 id="method.increment_last_index" class="method hidden"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#410-421" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Increment the last derivation index for a keychain and return it <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CMemoryDatabase%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CMemoryDatabase%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>) -> Self</code><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.del_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#213-229" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
+</div><h4 id="method.del_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#230-236" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete a raw transaction given its [<code>Txid</code>]</p>
+</div><h4 id="method.del_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#237-261" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
+</div><h4 id="method.del_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.BatchOperations.html#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#262-271" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Delete the last derivation index for a keychain.</p>
+</div></div><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#440-446" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config" class="type trait-impl"><code>type <a href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" class="type">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code><a href="#associatedtype.Config" class="anchor"></a></h4><div class='docblock'><p>Type that contains the configuration</p>
+</div><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.ConfigurableDatabase.html#tymethod.from_config" class="fnname">from_config</a>(_config: &Self::<a class="type" href="../../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#443-445" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Create a new instance given a configuration</p>
+</div></div><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#274-422" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.check_descriptor_checksum" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#275-296" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Read and checks the descriptor checksum for a given keychain. <a href="../../../bdk/database/trait.Database.html#tymethod.check_descriptor_checksum">Read more</a></p>
+</div><h4 id="method.iter_script_pubkeys" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_script_pubkeys" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#298-304" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of script_pubkeys</p>
+</div><h4 id="method.iter_utxos" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_utxos" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#306-320" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a>s</p>
+</div><h4 id="method.iter_raw_txs" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_raw_txs" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#322-328" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of raw transactions</p>
+</div><h4 id="method.iter_txs" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_txs" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#330-344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the list of transactions metadata</p>
+</div><h4 id="method.get_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#346-356" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a script_pubkey given the child number of a keychain.</p>
+</div><h4 id="method.get_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#358-370" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the keychain and child number of a given script_pubkey</p>
+</div><h4 id="method.get_utxo" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#372-382" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a <a href="../../../bdk/struct.LocalUtxo.html" title="LocalUtxo"><code>LocalUtxo</code></a> given its [<code>OutPoint</code>]</p>
+</div><h4 id="method.get_raw_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_raw_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#384-390" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch a raw transaction given its [<code>Txid</code>]</p>
+</div><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#392-402" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Fetch the transaction metadata and optionally also the raw transaction</p>
+</div><h4 id="method.get_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#404-407" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Return the last defivation index for a keychain.</p>
+</div><h4 id="method.increment_last_index" class="method hidden trait-impl"><code>fn <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.increment_last_index" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#410-421" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Increment the last derivation index for a keychain and return it <a href="../../../bdk/database/trait.Database.html#tymethod.increment_last_index">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/memory.rs.html#111" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-From%3C%3CMemoryDatabase%20as%20BatchDatabase%3E%3A%3ABatch%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a> as <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>::<a class="type" href="../../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#100-104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CMemoryDatabase%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>> for <a class="enum" href="../../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-From%3CMemoryDatabase%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(inner: <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/database/any.rs.html#87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for a database that supports batch operations"><meta name="keywords" content="rust, rustlang, rust-lang, BatchDatabase"><title>bdk::database::BatchDatabase - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait BatchDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Batch">Batch</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.begin_batch">begin_batch</a><a href="#tymethod.commit_batch">commit_batch</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-BatchDatabase-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="BatchDatabase" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">BatchDatabase</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#142-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait BatchDatabase: <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait BatchDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Batch">Batch</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.begin_batch">begin_batch</a><a href="#tymethod.commit_batch">commit_batch</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-BatchDatabase-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="BatchDatabase" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">BatchDatabase</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#142-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait BatchDatabase: <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> {
type <a href="#associatedtype.Batch" class="type">Batch</a>: <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a>;
fn <a href="#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>;
<div class="item-spacer"></div> fn <a href="#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
</div><h2 id="associated-types" class="small-section-header">Associated Types<a href="#associated-types" class="anchor"></a></h2><div class="methods"><h3 id="associatedtype.Batch" class="method"><code>type <a href="#associatedtype.Batch" class="type">Batch</a>: <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#144" title="goto source code">[src]</a></h3><div class="docblock"><p>Container for the operations</p>
</div></div><span class="loading-content">Loading content...</span><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.begin_batch" class="method"><code>fn <a href="#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#147" title="goto source code">[src]</a></h3><div class="docblock"><p>Create a new batch container</p>
</div><h3 id="tymethod.commit_batch" class="method"><code>fn <a href="#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#149" title="goto source code">[src]</a></h3><div class="docblock"><p>Consume and apply a batch of operations</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-BatchDatabase-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for Tree</code><a href="#impl-BatchDatabase-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#372-382" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-1" class="type"><code>type <a href="#associatedtype.Batch" class="type">Batch</a> = Batch</code></h4><h4 id="method.begin_batch" class="method hidden"><code>fn <a href="#method.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#375-377" title="goto source code">[src]</a></h4><h4 id="method.commit_batch" class="method hidden"><code>fn <a href="#method.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#379-381" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#291-315" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-2" class="type"><code>type <a href="#associatedtype.Batch-2" class="type">Batch</a> = <a class="enum" href="../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code></h4><h4 id="method.begin_batch-1" class="method hidden"><code>fn <a href="#method.begin_batch-1" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../src/bdk/database/any.rs.html#294-300" title="goto source code">[src]</a></h4><h4 id="method.commit_batch-1" class="method hidden"><code>fn <a href="#method.commit_batch-1" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#301-314" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchDatabase-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchDatabase-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#424-438" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-3" class="type"><code>type <a href="#associatedtype.Batch-3" class="type">Batch</a> = Self</code></h4><h4 id="method.begin_batch-2" class="method hidden"><code>fn <a href="#method.begin_batch-2" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#427-429" title="goto source code">[src]</a></h4><h4 id="method.commit_batch-2" class="method hidden"><code>fn <a href="#method.commit_batch-2" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#431-437" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.BatchDatabase.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-BatchDatabase-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for Tree</code><a href="#impl-BatchDatabase-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#372-382" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-1" class="type trait-impl"><code>type <a href="#associatedtype.Batch" class="type">Batch</a> = Batch</code><a href="#associatedtype.Batch-1" class="anchor"></a></h4><h4 id="method.begin_batch" class="method hidden trait-impl"><code>fn <a href="#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a href="#method.begin_batch" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#375-377" title="goto source code">[src]</a></h4><h4 id="method.commit_batch" class="method hidden trait-impl"><code>fn <a href="#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.commit_batch" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#379-381" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-BatchDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchDatabase" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#291-315" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-2" class="type trait-impl"><code>type <a href="#associatedtype.Batch" class="type">Batch</a> = <a class="enum" href="../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#associatedtype.Batch-2" class="anchor"></a></h4><h4 id="method.begin_batch-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a href="#method.begin_batch-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#294-300" title="goto source code">[src]</a></h4><h4 id="method.commit_batch-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.commit_batch-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#301-314" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchDatabase-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchDatabase-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#424-438" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Batch-3" class="type trait-impl"><code>type <a href="#associatedtype.Batch" class="type">Batch</a> = Self</code><a href="#associatedtype.Batch-3" class="anchor"></a></h4><h4 id="method.begin_batch-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.begin_batch" class="fnname">begin_batch</a>(&self) -> Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a></code><a href="#method.begin_batch-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#427-429" title="goto source code">[src]</a></h4><h4 id="method.commit_batch-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.commit_batch" class="fnname">commit_batch</a>(&mut self, batch: Self::<a class="type" href="../../bdk/database/trait.BatchDatabase.html#associatedtype.Batch" title="type bdk::database::BatchDatabase::Batch">Batch</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.commit_batch-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#431-437" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.BatchDatabase.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for operations that can be batched"><meta name="keywords" content="rust, rustlang, rust-lang, BatchOperations"><title>bdk::database::BatchOperations - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait BatchOperations</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.set_last_index">set_last_index</a><a href="#tymethod.set_tx">set_tx</a><a href="#tymethod.del_tx">del_tx</a><a href="#tymethod.del_utxo">del_utxo</a><a href="#tymethod.set_raw_tx">set_raw_tx</a><a href="#tymethod.set_utxo">set_utxo</a><a href="#tymethod.set_script_pubkey">set_script_pubkey</a><a href="#tymethod.del_script_pubkey_from_path">del_script_pubkey_from_path</a><a href="#tymethod.del_path_from_script_pubkey">del_path_from_script_pubkey</a><a href="#tymethod.del_raw_tx">del_raw_tx</a><a href="#tymethod.del_last_index">del_last_index</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-BatchOperations-for-Batch">Batch</a><a href="#impl-BatchOperations-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="BatchOperations" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">BatchOperations</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#46-87" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait BatchOperations {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait BatchOperations</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.del_last_index">del_last_index</a><a href="#tymethod.del_path_from_script_pubkey">del_path_from_script_pubkey</a><a href="#tymethod.del_raw_tx">del_raw_tx</a><a href="#tymethod.del_script_pubkey_from_path">del_script_pubkey_from_path</a><a href="#tymethod.del_tx">del_tx</a><a href="#tymethod.del_utxo">del_utxo</a><a href="#tymethod.set_last_index">set_last_index</a><a href="#tymethod.set_raw_tx">set_raw_tx</a><a href="#tymethod.set_script_pubkey">set_script_pubkey</a><a href="#tymethod.set_tx">set_tx</a><a href="#tymethod.set_utxo">set_utxo</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-BatchOperations-for-Batch">Batch</a><a href="#impl-BatchOperations-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="BatchOperations" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">BatchOperations</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#46-87" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait BatchOperations {
fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
</div><h3 id="tymethod.del_raw_tx" class="method"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#78" title="goto source code">[src]</a></h3><div class="docblock"><p>Delete a raw transaction given its [<code>Txid</code>]</p>
</div><h3 id="tymethod.del_tx" class="method"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#80-84" title="goto source code">[src]</a></h3><div class="docblock"><p>Delete the metadata of a transaction and optionally the raw transaction itself</p>
</div><h3 id="tymethod.del_last_index" class="method"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#86" title="goto source code">[src]</a></h3><div class="docblock"><p>Delete the last derivation index for a keychain.</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-BatchOperations-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for Tree</code><a href="#impl-BatchOperations-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#179-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden"><code>fn <a href="#method.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_utxo" class="method hidden"><code>fn <a href="#method.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx" class="method hidden"><code>fn <a href="#method.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_tx" class="method hidden"><code>fn <a href="#method.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_last_index" class="method hidden"><code>fn <a href="#method.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path" class="method hidden"><code>fn <a href="#method.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey" class="method hidden"><code>fn <a href="#method.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_utxo" class="method hidden"><code>fn <a href="#method.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx" class="method hidden"><code>fn <a href="#method.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_tx" class="method hidden"><code>fn <a href="#method.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_last_index" class="method hidden"><code>fn <a href="#method.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-for-Batch" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for Batch</code><a href="#impl-BatchOperations-for-Batch" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#189-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-1" class="method hidden"><code>fn <a href="#method.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-1" class="method hidden"><code>fn <a href="#method.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-1" class="method hidden"><code>fn <a href="#method.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_tx-1" class="method hidden"><code>fn <a href="#method.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-1" class="method hidden"><code>fn <a href="#method.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-1" class="method hidden"><code>fn <a href="#method.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-1" class="method hidden"><code>fn <a href="#method.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-1" class="method hidden"><code>fn <a href="#method.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-1" class="method hidden"><code>fn <a href="#method.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_tx-1" class="method hidden"><code>fn <a href="#method.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-1" class="method hidden"><code>fn <a href="#method.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#238-289" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-2" class="method hidden"><code>fn <a href="#method.set_script_pubkey-2" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#239-246" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-2" class="method hidden"><code>fn <a href="#method.set_utxo-2" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#247-249" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-2" class="method hidden"><code>fn <a href="#method.set_raw_tx-2" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#250-252" title="goto source code">[src]</a></h4><h4 id="method.set_tx-2" class="method hidden"><code>fn <a href="#method.set_tx-2" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#253-255" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-2" class="method hidden"><code>fn <a href="#method.set_last_index-2" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#256-258" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-2" class="method hidden"><code>fn <a href="#method.del_script_pubkey_from_path-2" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#260-266" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-2" class="method hidden"><code>fn <a href="#method.del_path_from_script_pubkey-2" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#267-272" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-2" class="method hidden"><code>fn <a href="#method.del_utxo-2" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#273-275" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-2" class="method hidden"><code>fn <a href="#method.del_raw_tx-2" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#276-278" title="goto source code">[src]</a></h4><h4 id="method.del_tx-2" class="method hidden"><code>fn <a href="#method.del_tx-2" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#279-285" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-2" class="method hidden"><code>fn <a href="#method.del_last_index-2" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#286-288" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchOperations-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#107-171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-3" class="method hidden"><code>fn <a href="#method.set_script_pubkey-3" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#108-122" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-3" class="method hidden"><code>fn <a href="#method.set_utxo-3" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#123-125" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-3" class="method hidden"><code>fn <a href="#method.set_raw_tx-3" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#126-128" title="goto source code">[src]</a></h4><h4 id="method.set_tx-3" class="method hidden"><code>fn <a href="#method.set_tx-3" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#129-131" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-3" class="method hidden"><code>fn <a href="#method.set_last_index-3" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#132-134" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-3" class="method hidden"><code>fn <a href="#method.del_script_pubkey_from_path-3" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#136-148" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-3" class="method hidden"><code>fn <a href="#method.del_path_from_script_pubkey-3" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#149-154" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-3" class="method hidden"><code>fn <a href="#method.del_utxo-3" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#155-157" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-3" class="method hidden"><code>fn <a href="#method.del_raw_tx-3" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#158-160" title="goto source code">[src]</a></h4><h4 id="method.del_tx-3" class="method hidden"><code>fn <a href="#method.del_tx-3" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#161-167" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-3" class="method hidden"><code>fn <a href="#method.del_last_index-3" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#168-170" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchOperations-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#127-272" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-4" class="method hidden"><code>fn <a href="#method.set_script_pubkey-4" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#128-145" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-4" class="method hidden"><code>fn <a href="#method.set_utxo-4" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#147-153" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-4" class="method hidden"><code>fn <a href="#method.set_raw_tx-4" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#154-159" title="goto source code">[src]</a></h4><h4 id="method.set_tx-4" class="method hidden"><code>fn <a href="#method.set_tx-4" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#160-175" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-4" class="method hidden"><code>fn <a href="#method.set_last_index-4" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#176-181" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-4" class="method hidden"><code>fn <a href="#method.del_script_pubkey_from_path-4" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#183-193" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-4" class="method hidden"><code>fn <a href="#method.del_path_from_script_pubkey-4" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#194-212" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-4" class="method hidden"><code>fn <a href="#method.del_utxo-4" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#213-229" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-4" class="method hidden"><code>fn <a href="#method.del_raw_tx-4" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#230-236" title="goto source code">[src]</a></h4><h4 id="method.del_tx-4" class="method hidden"><code>fn <a href="#method.del_tx-4" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#237-261" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-4" class="method hidden"><code>fn <a href="#method.del_last_index-4" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#262-271" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.BatchOperations.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-BatchOperations-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for Tree</code><a href="#impl-BatchOperations-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#179-181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_utxo" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.set_last_index" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_utxo" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4><h4 id="method.del_last_index" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#180" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-for-Batch" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for Batch</code><a href="#impl-BatchOperations-for-Batch" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#189-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#190" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-BatchOperations" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../bdk/database/any/enum.AnyBatch.html" title="enum bdk::database::any::AnyBatch">AnyBatch</a></code><a href="#impl-BatchOperations" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#238-289" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#239-246" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#247-249" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#250-252" title="goto source code">[src]</a></h4><h4 id="method.set_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#253-255" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#256-258" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#260-266" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#267-272" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#273-275" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#276-278" title="goto source code">[src]</a></h4><h4 id="method.del_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#279-285" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#286-288" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-BatchOperations-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#107-171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#108-122" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#123-125" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#126-128" title="goto source code">[src]</a></h4><h4 id="method.set_tx-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#129-131" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#132-134" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#136-148" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#149-154" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#155-157" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#158-160" title="goto source code">[src]</a></h4><h4 id="method.del_tx-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#161-167" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index-3" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#168-170" title="goto source code">[src]</a></h4></div><h3 id="impl-BatchOperations-2" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-BatchOperations-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#127-272" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_script_pubkey-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_script_pubkey" class="fnname">set_script_pubkey</a>(<br> &mut self, <br> script: &Script, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_script_pubkey-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#128-145" title="goto source code">[src]</a></h4><h4 id="method.set_utxo-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_utxo" class="fnname">set_utxo</a>(&mut self, utxo: &<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_utxo-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#147-153" title="goto source code">[src]</a></h4><h4 id="method.set_raw_tx-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_raw_tx" class="fnname">set_raw_tx</a>(&mut self, transaction: &Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_raw_tx-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#154-159" title="goto source code">[src]</a></h4><h4 id="method.set_tx-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_tx" class="fnname">set_tx</a>(&mut self, transaction: &<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_tx-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#160-175" title="goto source code">[src]</a></h4><h4 id="method.set_last_index-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.set_last_index" class="fnname">set_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.set_last_index-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#176-181" title="goto source code">[src]</a></h4><h4 id="method.del_script_pubkey_from_path-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_script_pubkey_from_path" class="fnname">del_script_pubkey_from_path</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_script_pubkey_from_path-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#183-193" title="goto source code">[src]</a></h4><h4 id="method.del_path_from_script_pubkey-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_path_from_script_pubkey" class="fnname">del_path_from_script_pubkey</a>(<br> &mut self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_path_from_script_pubkey-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#194-212" title="goto source code">[src]</a></h4><h4 id="method.del_utxo-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_utxo" class="fnname">del_utxo</a>(&mut self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_utxo-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#213-229" title="goto source code">[src]</a></h4><h4 id="method.del_raw_tx-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_raw_tx" class="fnname">del_raw_tx</a>(&mut self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_raw_tx-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#230-236" title="goto source code">[src]</a></h4><h4 id="method.del_tx-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_tx" class="fnname">del_tx</a>(<br> &mut self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_tx-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#237-261" title="goto source code">[src]</a></h4><h4 id="method.del_last_index-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.del_last_index" class="fnname">del_last_index</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.del_last_index-4" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#262-271" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.BatchOperations.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for [`Database`] types that can be created given a configuration"><meta name="keywords" content="rust, rustlang, rust-lang, ConfigurableDatabase"><title>bdk::database::ConfigurableDatabase - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ConfigurableDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Config">Config</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.from_config">from_config</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ConfigurableDatabase-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="ConfigurableDatabase" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">ConfigurableDatabase</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#153-159" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ConfigurableDatabase: <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ConfigurableDatabase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Config">Config</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.from_config">from_config</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ConfigurableDatabase-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="ConfigurableDatabase" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">ConfigurableDatabase</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#153-159" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ConfigurableDatabase: <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
type <a href="#associatedtype.Config" class="type">Config</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>;
fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
}</pre></div><div class="docblock"><p>Trait for <a href="../../bdk/database/trait.Database.html" title="Database"><code>Database</code></a> types that can be created given a configuration</p>
</div><h2 id="associated-types" class="small-section-header">Associated Types<a href="#associated-types" class="anchor"></a></h2><div class="methods"><h3 id="associatedtype.Config" class="method"><code>type <a href="#associatedtype.Config" class="type">Config</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#155" title="goto source code">[src]</a></h3><div class="docblock"><p>Type that contains the configuration</p>
</div></div><span class="loading-content">Loading content...</span><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.from_config" class="method"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#158" title="goto source code">[src]</a></h3><div class="docblock"><p>Create a new instance given a configuration</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ConfigurableDatabase-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for Tree</code><a href="#impl-ConfigurableDatabase-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#328-334" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-1" class="type"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code></h4><h4 id="method.from_config" class="method hidden"><code>fn <a href="#method.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#331-333" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#351-363" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-2" class="type"><code>type <a href="#associatedtype.Config-2" class="type">Config</a> = <a class="enum" href="../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code></h4><h4 id="method.from_config-1" class="method hidden"><code>fn <a href="#method.from_config-1" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#354-362" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableDatabase-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-ConfigurableDatabase-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#440-446" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-3" class="type"><code>type <a href="#associatedtype.Config-3" class="type">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></h4><h4 id="method.from_config-2" class="method hidden"><code>fn <a href="#method.from_config-2" class="fnname">from_config</a>(_config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#443-445" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.ConfigurableDatabase.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ConfigurableDatabase-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for Tree</code><a href="#impl-ConfigurableDatabase-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#328-334" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-1" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="struct" href="../../bdk/database/any/struct.SledDbConfiguration.html" title="struct bdk::database::any::SledDbConfiguration">SledDbConfiguration</a></code><a href="#associatedtype.Config-1" class="anchor"></a></h4><h4 id="method.from_config" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#331-333" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ConfigurableDatabase" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-ConfigurableDatabase" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#351-363" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-2" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="enum" href="../../bdk/database/any/enum.AnyDatabaseConfig.html" title="enum bdk::database::any::AnyDatabaseConfig">AnyDatabaseConfig</a></code><a href="#associatedtype.Config-2" class="anchor"></a></h4><h4 id="method.from_config-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#354-362" title="goto source code">[src]</a></h4></div><h3 id="impl-ConfigurableDatabase-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.ConfigurableDatabase.html" title="trait bdk::database::ConfigurableDatabase">ConfigurableDatabase</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-ConfigurableDatabase-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#440-446" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Config-3" class="type trait-impl"><code>type <a href="#associatedtype.Config" class="type">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code><a href="#associatedtype.Config-3" class="anchor"></a></h4><h4 id="method.from_config-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.from_config" class="fnname">from_config</a>(_config: &Self::<a class="type" href="../../bdk/database/trait.ConfigurableDatabase.html#associatedtype.Config" title="type bdk::database::ConfigurableDatabase::Config">Config</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.from_config-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#443-445" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.ConfigurableDatabase.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for reading data from a database"><meta name="keywords" content="rust, rustlang, rust-lang, Database"><title>bdk::database::Database - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Database</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.get_tx">get_tx</a><a href="#tymethod.iter_script_pubkeys">iter_script_pubkeys</a><a href="#tymethod.iter_txs">iter_txs</a><a href="#tymethod.iter_raw_txs">iter_raw_txs</a><a href="#tymethod.get_raw_tx">get_raw_tx</a><a href="#tymethod.get_path_from_script_pubkey">get_path_from_script_pubkey</a><a href="#tymethod.iter_utxos">iter_utxos</a><a href="#tymethod.get_last_index">get_last_index</a><a href="#tymethod.check_descriptor_checksum">check_descriptor_checksum</a><a href="#tymethod.get_script_pubkey_from_path">get_script_pubkey_from_path</a><a href="#tymethod.get_utxo">get_utxo</a><a href="#tymethod.increment_last_index">increment_last_index</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Database-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="Database" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">Database</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#92-137" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Database: <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Database</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.check_descriptor_checksum">check_descriptor_checksum</a><a href="#tymethod.get_last_index">get_last_index</a><a href="#tymethod.get_path_from_script_pubkey">get_path_from_script_pubkey</a><a href="#tymethod.get_raw_tx">get_raw_tx</a><a href="#tymethod.get_script_pubkey_from_path">get_script_pubkey_from_path</a><a href="#tymethod.get_tx">get_tx</a><a href="#tymethod.get_utxo">get_utxo</a><a href="#tymethod.increment_last_index">increment_last_index</a><a href="#tymethod.iter_raw_txs">iter_raw_txs</a><a href="#tymethod.iter_script_pubkeys">iter_script_pubkeys</a><a href="#tymethod.iter_txs">iter_txs</a><a href="#tymethod.iter_utxos">iter_utxos</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Database-for-Tree">Tree</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a></p><div id="sidebar-vars" data-name="Database" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">database</a>::<wbr><a class="trait" href="">Database</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/database/mod.rs.html#92-137" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Database: <a class="trait" href="../../bdk/database/trait.BatchOperations.html" title="trait bdk::database::BatchOperations">BatchOperations</a> {
fn <a href="#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
</div><h3 id="tymethod.get_last_index" class="method"><code>fn <a href="#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#131" title="goto source code">[src]</a></h3><div class="docblock"><p>Return the last defivation index for a keychain.</p>
</div><h3 id="tymethod.increment_last_index" class="method"><code>fn <a href="#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/mod.rs.html#136" title="goto source code">[src]</a></h3><div class="docblock"><p>Increment the last derivation index for a keychain and return it</p>
<p>It should insert and return <code>0</code> if not present in the database</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Database-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for Tree</code><a href="#impl-Database-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#193-370" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden"><code>fn <a href="#method.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#194-212" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys" class="method hidden"><code>fn <a href="#method.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#214-222" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos" class="method hidden"><code>fn <a href="#method.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#224-242" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs" class="method hidden"><code>fn <a href="#method.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#244-252" title="goto source code">[src]</a></h4><h4 id="method.iter_txs" class="method hidden"><code>fn <a href="#method.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#254-268" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path" class="method hidden"><code>fn <a href="#method.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#270-277" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey" class="method hidden"><code>fn <a href="#method.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#279-293" title="goto source code">[src]</a></h4><h4 id="method.get_utxo" class="method hidden"><code>fn <a href="#method.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#295-310" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx" class="method hidden"><code>fn <a href="#method.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#312-315" title="goto source code">[src]</a></h4><h4 id="method.get_tx" class="method hidden"><code>fn <a href="#method.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#317-329" title="goto source code">[src]</a></h4><h4 id="method.get_last_index" class="method hidden"><code>fn <a href="#method.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#331-343" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index" class="method hidden"><code>fn <a href="#method.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#346-369" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#173-236" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum-1" class="method hidden"><code>fn <a href="#method.check_descriptor_checksum-1" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#174-186" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys-1" class="method hidden"><code>fn <a href="#method.iter_script_pubkeys-1" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#188-190" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos-1" class="method hidden"><code>fn <a href="#method.iter_utxos-1" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#191-193" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs-1" class="method hidden"><code>fn <a href="#method.iter_raw_txs-1" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#194-196" title="goto source code">[src]</a></h4><h4 id="method.iter_txs-1" class="method hidden"><code>fn <a href="#method.iter_txs-1" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#197-199" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path-1" class="method hidden"><code>fn <a href="#method.get_script_pubkey_from_path-1" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#201-213" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey-1" class="method hidden"><code>fn <a href="#method.get_path_from_script_pubkey-1" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#214-219" title="goto source code">[src]</a></h4><h4 id="method.get_utxo-1" class="method hidden"><code>fn <a href="#method.get_utxo-1" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#220-222" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx-1" class="method hidden"><code>fn <a href="#method.get_raw_tx-1" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#223-225" title="goto source code">[src]</a></h4><h4 id="method.get_tx-1" class="method hidden"><code>fn <a href="#method.get_tx-1" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#226-228" title="goto source code">[src]</a></h4><h4 id="method.get_last_index-1" class="method hidden"><code>fn <a href="#method.get_last_index-1" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#229-231" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index-1" class="method hidden"><code>fn <a href="#method.increment_last_index-1" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/any.rs.html#233-235" title="goto source code">[src]</a></h4></div><h3 id="impl-Database-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Database-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#274-422" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum-2" class="method hidden"><code>fn <a href="#method.check_descriptor_checksum-2" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#275-296" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys-2" class="method hidden"><code>fn <a href="#method.iter_script_pubkeys-2" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#298-304" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos-2" class="method hidden"><code>fn <a href="#method.iter_utxos-2" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#306-320" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs-2" class="method hidden"><code>fn <a href="#method.iter_raw_txs-2" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#322-328" title="goto source code">[src]</a></h4><h4 id="method.iter_txs-2" class="method hidden"><code>fn <a href="#method.iter_txs-2" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#330-344" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path-2" class="method hidden"><code>fn <a href="#method.get_script_pubkey_from_path-2" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#346-356" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey-2" class="method hidden"><code>fn <a href="#method.get_path_from_script_pubkey-2" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#358-370" title="goto source code">[src]</a></h4><h4 id="method.get_utxo-2" class="method hidden"><code>fn <a href="#method.get_utxo-2" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#372-382" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx-2" class="method hidden"><code>fn <a href="#method.get_raw_tx-2" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#384-390" title="goto source code">[src]</a></h4><h4 id="method.get_tx-2" class="method hidden"><code>fn <a href="#method.get_tx-2" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#392-402" title="goto source code">[src]</a></h4><h4 id="method.get_last_index-2" class="method hidden"><code>fn <a href="#method.get_last_index-2" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#404-407" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index-2" class="method hidden"><code>fn <a href="#method.increment_last_index-2" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/database/memory.rs.html#410-421" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.Database.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Database-for-Tree" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for Tree</code><a href="#impl-Database-for-Tree" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#193-370" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum" class="method hidden trait-impl"><code>fn <a href="#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.check_descriptor_checksum" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#194-212" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_script_pubkeys" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#214-222" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_utxos" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#224-242" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_raw_txs" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#244-252" title="goto source code">[src]</a></h4><h4 id="method.iter_txs" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_txs" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#254-268" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_script_pubkey_from_path" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#270-277" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_path_from_script_pubkey" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#279-293" title="goto source code">[src]</a></h4><h4 id="method.get_utxo" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#295-310" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_raw_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#312-315" title="goto source code">[src]</a></h4><h4 id="method.get_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#317-329" title="goto source code">[src]</a></h4><h4 id="method.get_last_index" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_last_index" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#331-343" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index" class="method hidden trait-impl"><code>fn <a href="#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.increment_last_index" class="anchor"></a><a class="srclink" href="../../src/bdk/database/keyvalue.rs.html#346-369" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-Database" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="enum" href="../../bdk/database/any/enum.AnyDatabase.html" title="enum bdk::database::any::AnyDatabase">AnyDatabase</a></code><a href="#impl-Database" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#173-236" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.check_descriptor_checksum-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#174-186" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_script_pubkeys-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#188-190" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_utxos-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#191-193" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_raw_txs-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#194-196" title="goto source code">[src]</a></h4><h4 id="method.iter_txs-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_txs-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#197-199" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> child: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_script_pubkey_from_path-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#201-213" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_path_from_script_pubkey-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#214-219" title="goto source code">[src]</a></h4><h4 id="method.get_utxo-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#220-222" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_raw_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#223-225" title="goto source code">[src]</a></h4><h4 id="method.get_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#226-228" title="goto source code">[src]</a></h4><h4 id="method.get_last_index-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_last_index-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#229-231" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.increment_last_index-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/any.rs.html#233-235" title="goto source code">[src]</a></h4></div><h3 id="impl-Database-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a> for <a class="struct" href="../../bdk/database/memory/struct.MemoryDatabase.html" title="struct bdk::database::memory::MemoryDatabase">MemoryDatabase</a></code><a href="#impl-Database-1" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#274-422" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.check_descriptor_checksum-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.check_descriptor_checksum" class="fnname">check_descriptor_checksum</a><B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> bytes: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.check_descriptor_checksum-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#275-296" title="goto source code">[src]</a></h4><h4 id="method.iter_script_pubkeys-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_script_pubkeys" class="fnname">iter_script_pubkeys</a>(<br> &self, <br> keychain: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_script_pubkeys-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#298-304" title="goto source code">[src]</a></h4><h4 id="method.iter_utxos-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_utxos" class="fnname">iter_utxos</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_utxos-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#306-320" title="goto source code">[src]</a></h4><h4 id="method.iter_raw_txs-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_raw_txs" class="fnname">iter_raw_txs</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_raw_txs-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#322-328" title="goto source code">[src]</a></h4><h4 id="method.iter_txs-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.iter_txs" class="fnname">iter_txs</a>(&self, include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.iter_txs-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#330-344" title="goto source code">[src]</a></h4><h4 id="method.get_script_pubkey_from_path-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_script_pubkey_from_path" class="fnname">get_script_pubkey_from_path</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> path: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Script>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_script_pubkey_from_path-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#346-356" title="goto source code">[src]</a></h4><h4 id="method.get_path_from_script_pubkey-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_path_from_script_pubkey" class="fnname">get_path_from_script_pubkey</a>(<br> &self, <br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_path_from_script_pubkey-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#358-370" title="goto source code">[src]</a></h4><h4 id="method.get_utxo-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: &OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#372-382" title="goto source code">[src]</a></h4><h4 id="method.get_raw_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_raw_tx" class="fnname">get_raw_tx</a>(&self, txid: &Txid) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_raw_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#384-390" title="goto source code">[src]</a></h4><h4 id="method.get_tx-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_tx" class="fnname">get_tx</a>(<br> &self, <br> txid: &Txid, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_tx-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#392-402" title="goto source code">[src]</a></h4><h4 id="method.get_last_index-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.get_last_index" class="fnname">get_last_index</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_last_index-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#404-407" title="goto source code">[src]</a></h4><h4 id="method.increment_last_index-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.increment_last_index" class="fnname">increment_last_index</a>(&mut self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.increment_last_index-2" class="anchor"></a><a class="srclink" href="../../src/bdk/database/memory.rs.html#410-421" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/database/trait.Database.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Compute the checksum of a descriptor"><meta name="keywords" content="rust, rustlang, rust-lang, get_checksum"><title>bdk::descriptor::checksum::get_checksum - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">checksum</a></p><div id="sidebar-vars" data-name="get_checksum" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">checksum</a>::<wbr><a class="fn" href="">get_checksum</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/checksum.rs.html#47-81" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn get_checksum(desc: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></pre><div class="docblock"><p>Compute the checksum of a descriptor</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">checksum</a></p><div id="sidebar-vars" data-name="get_checksum" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">checksum</a>::<wbr><a class="fn" href="">get_checksum</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/checksum.rs.html#47-81" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn get_checksum(desc: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></pre><div class="docblock"><p>Compute the checksum of a descriptor</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Descriptor checksum"><meta name="keywords" content="rust, rustlang, rust-lang, checksum"><title>bdk::descriptor::checksum - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module checksum</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="checksum" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">checksum</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/checksum.rs.html#12-113" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor checksum</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module checksum</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="checksum" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">checksum</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/checksum.rs.html#12-113" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor checksum</p>
<p>This module contains a re-implementation of the function used by Bitcoin Core to calculate the
checksum of a descriptor</p>
</div><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
<!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="Script descriptor"><meta name="keywords" content="rust, rustlang, rust-lang, Descriptor"><title>bdk::descriptor::Descriptor - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Descriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bare">Bare</a><a href="#variant.Pkh">Pkh</a><a href="#variant.Sh">Sh</a><a href="#variant.Wpkh">Wpkh</a><a href="#variant.Wsh">Wsh</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.derive">derive</a><a href="#method.desc_type">desc_type</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.new_bare">new_bare</a><a href="#method.new_pk">new_pk</a><a href="#method.new_pkh">new_pkh</a><a href="#method.new_sh">new_sh</a><a href="#method.new_sh_sortedmulti">new_sh_sortedmulti</a><a href="#method.new_sh_wpkh">new_sh_wpkh</a><a href="#method.new_sh_wsh">new_sh_wsh</a><a href="#method.new_sh_wsh_sortedmulti">new_sh_wsh_sortedmulti</a><a href="#method.new_wpkh">new_wpkh</a><a href="#method.new_wsh">new_wsh</a><a href="#method.new_wsh_sortedmulti">new_wsh_sortedmulti</a><a href="#method.parse_descriptor">parse_descriptor</a><a href="#method.to_string_with_secret">to_string_with_secret</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DescriptorTrait%3CPk%3E">DescriptorTrait<Pk></a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ExtractPolicy">ExtractPolicy</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-FromStr">FromStr</a><a href="#impl-FromTree">FromTree</a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptor%3CPk%3E%3E">PartialEq<Descriptor<Pk>></a><a href="#impl-PartialOrd%3CDescriptor%3CPk%3E%3E">PartialOrd<Descriptor<Pk>></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a><a href="#impl-TranslatePk%3CP%2C%20Q%3E">TranslatePk<P, Q></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TranslatePk1%3CP%2C%20Q%3E">TranslatePk1<P, Q></a><a href="#impl-TranslatePk2%3CP%2C%20Q%3E">TranslatePk2<P, Q></a><a href="#impl-TranslatePk3%3CP%2C%20Q%3E">TranslatePk3<P, Q></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Descriptor" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Descriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Descriptor<Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Descriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bare">Bare</a><a href="#variant.Pkh">Pkh</a><a href="#variant.Sh">Sh</a><a href="#variant.Wpkh">Wpkh</a><a href="#variant.Wsh">Wsh</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.derive">derive</a><a href="#method.desc_type">desc_type</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.new_bare">new_bare</a><a href="#method.new_pk">new_pk</a><a href="#method.new_pkh">new_pkh</a><a href="#method.new_sh">new_sh</a><a href="#method.new_sh_sortedmulti">new_sh_sortedmulti</a><a href="#method.new_sh_wpkh">new_sh_wpkh</a><a href="#method.new_sh_wsh">new_sh_wsh</a><a href="#method.new_sh_wsh_sortedmulti">new_sh_wsh_sortedmulti</a><a href="#method.new_wpkh">new_wpkh</a><a href="#method.new_wsh">new_wsh</a><a href="#method.new_wsh_sortedmulti">new_wsh_sortedmulti</a><a href="#method.parse_descriptor">parse_descriptor</a><a href="#method.to_string_with_secret">to_string_with_secret</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DescriptorTrait%3CPk%3E">DescriptorTrait<Pk></a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ExtractPolicy">ExtractPolicy</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-FromStr">FromStr</a><a href="#impl-FromTree">FromTree</a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptor%3CPk%3E%3E">PartialEq<Descriptor<Pk>></a><a href="#impl-PartialOrd%3CDescriptor%3CPk%3E%3E">PartialOrd<Descriptor<Pk>></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a><a href="#impl-TranslatePk%3CP%2C%20Q%3E">TranslatePk<P, Q></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TranslatePk1%3CP%2C%20Q%3E">TranslatePk1<P, Q></a><a href="#impl-TranslatePk2%3CP%2C%20Q%3E">TranslatePk2<P, Q></a><a href="#impl-TranslatePk3%3CP%2C%20Q%3E">TranslatePk3<P, Q></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Descriptor" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Descriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Descriptor<Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span> {
Bare(Bare<Pk>),
Pkh(Pkh<Pk>),
Wpkh(Wpkh<Pk>),
</div><div id="variant.Wpkh" class="variant small-section-header"><a href="#variant.Wpkh" class="anchor field"></a><code>Wpkh(Wpkh<Pk>)</code></div><div class="docblock"><p>Pay-to-Witness-PubKey-Hash</p>
</div><div id="variant.Sh" class="variant small-section-header"><a href="#variant.Sh" class="anchor field"></a><code>Sh(Sh<Pk>)</code></div><div class="docblock"><p>Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)</p>
</div><div id="variant.Wsh" class="variant small-section-header"><a href="#variant.Wsh" class="anchor field"></a><code>Wsh(Wsh<Pk>)</code></div><div class="docblock"><p>Pay-to-Witness-ScriptHash with Segwitv0 context</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new_pk" class="method"><code>pub fn <a href="#method.new_pk" class="fnname">new_pk</a>(pk: Pk) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code></h4><div class="docblock"><p>Create a new pk descriptor</p>
-</div><h4 id="method.new_pkh" class="method"><code>pub fn <a href="#method.new_pkh" class="fnname">new_pkh</a>(pk: Pk) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code></h4><div class="docblock"><p>Create a new PkH descriptor</p>
-</div><h4 id="method.new_wpkh" class="method"><code>pub fn <a href="#method.new_wpkh" class="fnname">new_wpkh</a>(pk: Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new Wpkh descriptor
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new_pk" class="method"><code>pub fn <a href="#method.new_pk" class="fnname">new_pk</a>(pk: Pk) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code><a href="#method.new_pk" class="anchor"></a></h4><div class="docblock"><p>Create a new pk descriptor</p>
+</div><h4 id="method.new_pkh" class="method"><code>pub fn <a href="#method.new_pkh" class="fnname">new_pkh</a>(pk: Pk) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code><a href="#method.new_pkh" class="anchor"></a></h4><div class="docblock"><p>Create a new PkH descriptor</p>
+</div><h4 id="method.new_wpkh" class="method"><code>pub fn <a href="#method.new_wpkh" class="fnname">new_wpkh</a>(pk: Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_wpkh" class="anchor"></a></h4><div class="docblock"><p>Create a new Wpkh descriptor
Will return Err if uncompressed key is used</p>
-</div><h4 id="method.new_sh_wpkh" class="method"><code>pub fn <a href="#method.new_sh_wpkh" class="fnname">new_sh_wpkh</a>(pk: Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new sh wrapped wpkh from <code>Pk</code>.
+</div><h4 id="method.new_sh_wpkh" class="method"><code>pub fn <a href="#method.new_sh_wpkh" class="fnname">new_sh_wpkh</a>(pk: Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_sh_wpkh" class="anchor"></a></h4><div class="docblock"><p>Create a new sh wrapped wpkh from <code>Pk</code>.
Errors when uncompressed keys are supplied</p>
-</div><h4 id="method.new_sh" class="method"><code>pub fn <a href="#method.new_sh" class="fnname">new_sh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new sh for a given redeem script
+</div><h4 id="method.new_sh" class="method"><code>pub fn <a href="#method.new_sh" class="fnname">new_sh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_sh" class="anchor"></a></h4><div class="docblock"><p>Create a new sh for a given redeem script
Errors when miniscript exceeds resource limits under p2sh context
or does not type check at the top level</p>
-</div><h4 id="method.new_wsh" class="method"><code>pub fn <a href="#method.new_wsh" class="fnname">new_wsh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new wsh descriptor from witness script
+</div><h4 id="method.new_wsh" class="method"><code>pub fn <a href="#method.new_wsh" class="fnname">new_wsh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_wsh" class="anchor"></a></h4><div class="docblock"><p>Create a new wsh descriptor from witness script
Errors when miniscript exceeds resource limits under p2sh context
or does not type check at the top level</p>
-</div><h4 id="method.new_sh_wsh" class="method"><code>pub fn <a href="#method.new_sh_wsh" class="fnname">new_sh_wsh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new sh wrapped wsh descriptor with witness script
+</div><h4 id="method.new_sh_wsh" class="method"><code>pub fn <a href="#method.new_sh_wsh" class="fnname">new_sh_wsh</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_sh_wsh" class="anchor"></a></h4><div class="docblock"><p>Create a new sh wrapped wsh descriptor with witness script
Errors when miniscript exceeds resource limits under wsh context
or does not type check at the top level</p>
-</div><h4 id="method.new_bare" class="method"><code>pub fn <a href="#method.new_bare" class="fnname">new_bare</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, BareCtx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new bare descriptor from witness script
+</div><h4 id="method.new_bare" class="method"><code>pub fn <a href="#method.new_bare" class="fnname">new_bare</a>(ms: <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, BareCtx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_bare" class="anchor"></a></h4><div class="docblock"><p>Create a new bare descriptor from witness script
Errors when miniscript exceeds resource limits under bare context
or does not type check at the top level</p>
-</div><h4 id="method.new_sh_sortedmulti" class="method"><code>pub fn <a href="#method.new_sh_sortedmulti" class="fnname">new_sh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>
+</div><h4 id="method.new_sh_sortedmulti" class="method"><code>pub fn <a href="#method.new_sh_sortedmulti" class="fnname">new_sh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_sh_sortedmulti" class="anchor"></a></h4><div class="docblock"><p>Create a new sh sortedmulti descriptor with threshold <code>k</code>
and Vec of <code>pks</code>.
Errors when miniscript exceeds resource limits under p2sh context</p>
-</div><h4 id="method.new_sh_wsh_sortedmulti" class="method"><code>pub fn <a href="#method.new_sh_wsh_sortedmulti" class="fnname">new_sh_wsh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold
+</div><h4 id="method.new_sh_wsh_sortedmulti" class="method"><code>pub fn <a href="#method.new_sh_wsh_sortedmulti" class="fnname">new_sh_wsh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_sh_wsh_sortedmulti" class="anchor"></a></h4><div class="docblock"><p>Create a new sh wrapped wsh sortedmulti descriptor from threshold
<code>k</code> and Vec of <code>pks</code>
Errors when miniscript exceeds resource limits under segwit context</p>
-</div><h4 id="method.new_wsh_sortedmulti" class="method"><code>pub fn <a href="#method.new_wsh_sortedmulti" class="fnname">new_wsh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Create a new wsh sorted multi descriptor
+</div><h4 id="method.new_wsh_sortedmulti" class="method"><code>pub fn <a href="#method.new_wsh_sortedmulti" class="fnname">new_wsh_sortedmulti</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.new_wsh_sortedmulti" class="anchor"></a></h4><div class="docblock"><p>Create a new wsh sorted multi descriptor
Errors when miniscript exceeds resource limits under p2sh context</p>
-</div><h4 id="method.desc_type" class="method"><code>pub fn <a href="#method.desc_type" class="fnname">desc_type</a>(&self) -> DescriptorType</code></h4><div class="docblock"><p>Get the [DescriptorType] of <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor">Descriptor</a></p>
-</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether or not the descriptor has any wildcards</p>
-</div><h4 id="method.derive" class="method"><code>pub fn <a href="#method.derive" class="fnname">derive</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code></h4><div class="docblock"><p>Derives all wildcard keys in the descriptor using the supplied index</p>
+</div><h4 id="method.desc_type" class="method"><code>pub fn <a href="#method.desc_type" class="fnname">desc_type</a>(&self) -> DescriptorType</code><a href="#method.desc_type" class="anchor"></a></h4><div class="docblock"><p>Get the [DescriptorType] of <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor">Descriptor</a></p>
+</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_deriveable" class="anchor"></a></h4><div class="docblock"><p>Whether or not the descriptor has any wildcards</p>
+</div><h4 id="method.derive" class="method"><code>pub fn <a href="#method.derive" class="fnname">derive</a>(&self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#method.derive" class="anchor"></a></h4><div class="docblock"><p>Derives all wildcard keys in the descriptor using the supplied index</p>
<p>Panics if given an index ≥ 2^31</p>
-</div><h4 id="method.parse_descriptor" class="method"><code>pub fn <a href="#method.parse_descriptor" class="fnname">parse_descriptor</a><C>(<br> secp: &Secp256k1<C>, <br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, Error> <span class="where fmt-newline">where<br> C: Signing, </span></code></h4><div class="docblock"><p>Parse a descriptor that may contain secret keys</p>
+</div><h4 id="method.parse_descriptor" class="method"><code>pub fn <a href="#method.parse_descriptor" class="fnname">parse_descriptor</a><C>(<br> secp: &Secp256k1<C>, <br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, Error> <span class="where fmt-newline">where<br> C: Signing, </span></code><a href="#method.parse_descriptor" class="anchor"></a></h4><div class="docblock"><p>Parse a descriptor that may contain secret keys</p>
<p>Internally turns every secret key found into the corresponding public key and then returns a
a descriptor that only contains public keys and a map to lookup the secret key given a public key.</p>
-</div><h4 id="method.to_string_with_secret" class="method"><code>pub fn <a href="#method.to_string_with_secret" class="fnname">to_string_with_secret</a>(<br> &self, <br> key_map: &<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></h4><div class="docblock"><p>Serialize a descriptor to string with its secret keys</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-DescriptorTrait%3CPk%3E" class="impl"><code class="in-band">impl<Pk> DescriptorTrait<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-DescriptorTrait%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sanity_check" class="method"><code>pub fn <a href="#method.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></code></h4><div class="docblock"><p>Whether the descriptor is safe
+</div><h4 id="method.to_string_with_secret" class="method"><code>pub fn <a href="#method.to_string_with_secret" class="fnname">to_string_with_secret</a>(<br> &self, <br> key_map: &<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><br>) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string_with_secret" class="anchor"></a></h4><div class="docblock"><p>Serialize a descriptor to string with its secret keys</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-DescriptorTrait%3CPk%3E" class="impl"><code class="in-band">impl<Pk> DescriptorTrait<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-DescriptorTrait%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sanity_check" class="method trait-impl"><code>pub fn <a href="#tymethod.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></code><a href="#method.sanity_check" class="anchor"></a></h4><div class="docblock"><p>Whether the descriptor is safe
Checks whether all the spend paths in the descriptor are possible
on the bitcoin network under the current standardness and consensus rules
Also checks whether the descriptor requires signauture on all spend paths
In general, all the guarantees of miniscript hold only for safe scripts.
All the analysis guarantees of miniscript only hold safe scripts.
The signer may not be able to find satisfactions even if one exists</p>
-</div><h4 id="method.address" class="method"><code>pub fn <a href="#method.address" class="fnname">address</a>(&self, network: Network) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Address, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Computes the Bitcoin address of the descriptor, if one exists</p>
-</div><h4 id="method.script_pubkey" class="method"><code>pub fn <a href="#method.script_pubkey" class="fnname">script_pubkey</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Computes the scriptpubkey of the descriptor</p>
-</div><h4 id="method.unsigned_script_sig" class="method"><code>pub fn <a href="#method.unsigned_script_sig" class="fnname">unsigned_script_sig</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Computes the scriptSig that will be in place for an unsigned
+</div><h4 id="method.address" class="method trait-impl"><code>pub fn <a href="#tymethod.address" class="fnname">address</a>(&self, network: Network) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Address, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.address" class="anchor"></a></h4><div class="docblock"><p>Computes the Bitcoin address of the descriptor, if one exists</p>
+</div><h4 id="method.script_pubkey" class="method trait-impl"><code>pub fn <a href="#tymethod.script_pubkey" class="fnname">script_pubkey</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.script_pubkey" class="anchor"></a></h4><div class="docblock"><p>Computes the scriptpubkey of the descriptor</p>
+</div><h4 id="method.unsigned_script_sig" class="method trait-impl"><code>pub fn <a href="#tymethod.unsigned_script_sig" class="fnname">unsigned_script_sig</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.unsigned_script_sig" class="anchor"></a></h4><div class="docblock"><p>Computes the scriptSig that will be in place for an unsigned
input spending an output with this descriptor. For pre-segwit
descriptors, which use the scriptSig for signatures, this
returns the empty script.</p>
<p>This is used in Segwit transactions to produce an unsigned
transaction whose txid will not change during signing (since
only the witness data will change).</p>
-</div><h4 id="method.explicit_script" class="method"><code>pub fn <a href="#method.explicit_script" class="fnname">explicit_script</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Computes the “witness script” of the descriptor, i.e. the underlying
+</div><h4 id="method.explicit_script" class="method trait-impl"><code>pub fn <a href="#tymethod.explicit_script" class="fnname">explicit_script</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.explicit_script" class="anchor"></a></h4><div class="docblock"><p>Computes the “witness script” of the descriptor, i.e. the underlying
script before any hashing is done. For <code>Bare</code>, <code>Pkh</code> and <code>Wpkh</code> this
is the scriptPubkey; for <code>ShWpkh</code> and <code>Sh</code> this is the redeemScript;
for the others it is the witness script.</p>
-</div><h4 id="method.get_satisfaction" class="method"><code>pub fn <a href="#method.get_satisfaction" class="fnname">get_satisfaction</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Script<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code></h4><div class="docblock"><p>Returns satisfying witness and scriptSig to spend an
+</div><h4 id="method.get_satisfaction" class="method trait-impl"><code>pub fn <a href="#tymethod.get_satisfaction" class="fnname">get_satisfaction</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Script<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code><a href="#method.get_satisfaction" class="anchor"></a></h4><div class="docblock"><p>Returns satisfying witness and scriptSig to spend an
output controlled by the given descriptor if it possible to
construct one using the satisfier S.</p>
-</div><h4 id="method.max_satisfaction_weight" class="method"><code>pub fn <a href="#method.max_satisfaction_weight" class="fnname">max_satisfaction_weight</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code></h4><div class="docblock"><p>Computes an upper bound on the weight of a satisfying witness to the
+</div><h4 id="method.max_satisfaction_weight" class="method trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_weight" class="fnname">max_satisfaction_weight</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code><a href="#method.max_satisfaction_weight" class="anchor"></a></h4><div class="docblock"><p>Computes an upper bound on the weight of a satisfying witness to the
transaction. Assumes all signatures are 73 bytes, including push opcode
and sighash suffix. Includes the weight of the VarInts encoding the
scriptSig and witness stack length.</p>
-</div><h4 id="method.script_code" class="method"><code>pub fn <a href="#method.script_code" class="fnname">script_code</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Get the <code>scriptCode</code> of a transaction output.</p>
+</div><h4 id="method.script_code" class="method trait-impl"><code>pub fn <a href="#tymethod.script_code" class="fnname">script_code</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.script_code" class="anchor"></a></h4><div class="docblock"><p>Get the <code>scriptCode</code> of a transaction output.</p>
<p>The <code>scriptCode</code> is the Script of the previous transaction output being serialized in the
sighash when evaluating a <code>CHECKSIG</code> & co. OP code.</p>
-</div><h4 id="method.satisfy" class="method hidden"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code></h4><div class='docblock hidden'><p>Attempts to produce a satisfying witness and scriptSig to spend an
+</div><h4 id="method.satisfy" class="method hidden trait-impl"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(&self, txin: &mut TxIn, satisfier: S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code><a href="#method.satisfy" class="anchor"></a></h4><div class='docblock hidden'><p>Attempts to produce a satisfying witness and scriptSig to spend an
output controlled by the given descriptor; add the data to a given
<code>TxIn</code> output. <a href="#method.satisfy">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + MiniscriptKey, </span></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#889-928" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden"><code>fn <a href="../../bdk/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#890-927" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
-</div></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk> ForEachKey<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden"><code>pub fn <a href="#method.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + MiniscriptKey, </span></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#889-928" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden trait-impl"><code>fn <a href="../../bdk/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.extract_policy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#890-927" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
+</div></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk> ForEachKey<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_each_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for every key <a href="#tymethod.for_each_key">Read more</a></p>
-</div><h4 id="method.for_any_key" class="method hidden"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div><h4 id="method.for_any_key" class="method hidden trait-impl"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_any_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for any key <a href="#method.for_any_key">Read more</a></p>
-</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = Error</code></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
-</div><h4 id="method.from_str" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
-</div></div><h3 id="impl-FromTree" class="impl"><code class="in-band">impl<Pk> FromTree for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromTree" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_tree" class="method"><code>pub fn <a href="#method.from_tree" class="fnname">from_tree</a>(top: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code></h4><div class="docblock"><p>Parse an expression tree into a descriptor</p>
-</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk> Liftable<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden"><code>pub fn <a href="#method.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + MiniscriptKey, </span></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CDescriptor%3CPk%3E%3E" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialEq%3CDescriptor%3CPk%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = Error</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
+</div><h4 id="method.from_str" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.from_str" class="anchor"></a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
+</div></div><h3 id="impl-FromTree" class="impl"><code class="in-band">impl<Pk> FromTree for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromTree" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_tree" class="method trait-impl"><code>pub fn <a href="#tymethod.from_tree" class="fnname">from_tree</a>(top: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>, Error></code><a href="#method.from_tree" class="anchor"></a></h4><div class="docblock"><p>Parse an expression tree into a descriptor</p>
+</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk> Liftable<Pk> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code><a href="#method.lift" class="anchor"></a></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + MiniscriptKey, </span></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CDescriptor%3CPk%3E%3E" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialEq%3CDescriptor%3CPk%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CDescriptor%3CPk%3E%3E" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialOrd%3CDescriptor%3CPk%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CDescriptor%3CPk%3E%3E" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialOrd%3CDescriptor%3CPk%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-TranslatePk%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q> TranslatePk<P, Q> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><P> <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Q></code></h4><div class='docblock'><p>The associated output type. This must be Self<Q></p>
-</div><h4 id="method.translate_pk" class="method"><code>pub fn <a href="#method.translate_pk" class="fnname">translate_pk</a><Fpk, Fpkh, E>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Q>, E> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<Q as MiniscriptKey>::Hash, E>, </span></code></h4><div class="docblock"><p>Convert a descriptor using abstract keys to one using specific keys
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-TranslatePk%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q> TranslatePk<P, Q> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><P> <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Q></code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>The associated output type. This must be Self<Q></p>
+</div><h4 id="method.translate_pk" class="method trait-impl"><code>pub fn <a href="#tymethod.translate_pk" class="fnname">translate_pk</a><Fpk, Fpkh, E>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Q>, E> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<Q as MiniscriptKey>::Hash, E>, </span></code><a href="#method.translate_pk" class="anchor"></a></h4><div class="docblock"><p>Convert a descriptor using abstract keys to one using specific keys
This will panic if translatefpk returns an uncompressed key when
converting to a Segwit descriptor. To prevent this panic, ensure
translatefpk returns an error in this case instead.</p>
-</div><h4 id="method.translate_pk_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk_infallible" class="fnname">translate_pk_infallible</a><Fpk, Fpkh>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <Q as MiniscriptKey>::Hash, </span></code></h4><div class='docblock hidden'><p>Calls <code>translate_pk</code> with conversion functions that cannot fail</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.translate_pk_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk_infallible" class="fnname">translate_pk_infallible</a><Fpk, Fpkh>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <Q as MiniscriptKey>::Hash, </span></code><a href="#method.translate_pk_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Calls <code>translate_pk</code> with conversion functions that cannot fail</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><Pk> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output-1" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output-1" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output-1" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk1%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk1<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = <P as MiniscriptKey>::Hash>, </span></code><a href="#impl-TranslatePk1%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk1" class="method hidden"><code>pub fn <a href="#method.translate_pk1" class="fnname">translate_pk1</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TranslatePk1%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk1<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = <P as MiniscriptKey>::Hash>, </span></code><a href="#impl-TranslatePk1%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk1" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk1" class="fnname">translate_pk1</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk1" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk1">Read more</a></p>
-</div><h4 id="method.translate_pk1_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk1_infallible" class="fnname">translate_pk1_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk1_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk1_infallible" class="fnname">translate_pk1_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk1_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk1_infallible">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk2%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk2<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey<Hash = P>,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk2%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk2" class="method hidden"><code>pub fn <a href="#method.translate_pk2" class="fnname">translate_pk2</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-TranslatePk2%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk2<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey<Hash = P>,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk2%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk2" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk2" class="fnname">translate_pk2</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk2" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk2">Read more</a></p>
-</div><h4 id="method.translate_pk2_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk2_infallible" class="fnname">translate_pk2_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk2_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk2_infallible" class="fnname">translate_pk2_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk2_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk2_infallible">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk3%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk3<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey + ToPublicKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = Hash>, </span></code><a href="#impl-TranslatePk3%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk3" class="method hidden"><code>pub fn <a href="#method.translate_pk3" class="fnname">translate_pk3</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-TranslatePk3%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk3<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey + ToPublicKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = Hash>, </span></code><a href="#impl-TranslatePk3%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk3" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk3" class="fnname">translate_pk3</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk3" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk3">Read more</a></p>
-</div><h4 id="method.translate_pk3_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk3_infallible" class="fnname">translate_pk3_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk3_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk3_infallible" class="fnname">translate_pk3_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk3_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk3_infallible">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Legacy ScriptContext To be used as P2SH scripts For creation of Bare scriptpubkeys, construct the Miniscript under `Bare` ScriptContext"><meta name="keywords" content="rust, rustlang, rust-lang, Legacy"><title>bdk::descriptor::Legacy - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Legacy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CLegacy%3E">PartialEq<Legacy></a><a href="#impl-PartialOrd%3CLegacy%3E">PartialOrd<Legacy></a><a href="#impl-ScriptContext">ScriptContext</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-ExtScriptContext">ExtScriptContext</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Legacy" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Legacy</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Legacy {}</pre></div><div class="docblock"><p>Legacy ScriptContext
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Legacy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CLegacy%3E">PartialEq<Legacy></a><a href="#impl-PartialOrd%3CLegacy%3E">PartialOrd<Legacy></a><a href="#impl-ScriptContext">ScriptContext</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-ExtScriptContext">ExtScriptContext</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Legacy" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Legacy</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Legacy {}</pre></div><div class="docblock"><p>Legacy ScriptContext
To be used as P2SH scripts
For creation of Bare scriptpubkeys, construct the Miniscript
under <code>Bare</code> ScriptContext</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CLegacy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-PartialEq%3CLegacy%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><a href="#method.hash" class="anchor"></a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CLegacy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-PartialEq%3CLegacy%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CLegacy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-PartialOrd%3CLegacy%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CLegacy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-PartialOrd%3CLegacy%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on ScriptContext, fragments can be malleable. For Example,
+</div></div><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on ScriptContext, fragments can be malleable. For Example,
under Legacy context, PkH is malleable because it is possible to
estimate the cost of satisfaction because of compressed keys
This is currently only used in compiler code for removing malleable
This does NOT recursively check if the children of the fragment are
valid or not. Since the compilation proceeds in a leaf to root fashion,
a recursive check is unnecessary. <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable">Read more</a></p>
-</div><h4 id="method.check_witness" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check whether the given satisfaction is valid under the ScriptContext
+</div><h4 id="method.check_witness" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness" class="anchor"></a></h4><div class='docblock hidden'><p>Check whether the given satisfaction is valid under the ScriptContext
For example, segwit satisfactions may fail if the witness len is more
3600 or number of stack elements are more than 100. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness">Read more</a></p>
-</div><h4 id="method.check_global_consensus_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script Context, some of the Terminals might not
+</div><h4 id="method.check_global_consensus_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script Context, some of the Terminals might not
be valid under the current consensus rules.
Or some of the script resource limits may have been exceeded.
These miniscripts would never be accepted by the Bitcoin network and hence
In LegacyP2SH context, scripts above 520 bytes are invalid.
Post Tapscript upgrade, this would have to consider other nodes.
This does <em>NOT</em> recursively check the miniscript fragments. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity">Read more</a></p>
-</div><h4 id="method.check_local_consensus_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Consensus rules at the Miniscript satisfaction time.
+</div><h4 id="method.check_local_consensus_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Consensus rules at the Miniscript satisfaction time.
It is possible that some paths of miniscript may exceed resource limits
and our current satisfier and lifting analysis would not work correctly.
For example, satisfaction path(Legacy/Segwitv0) may require more than 201 opcodes. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity">Read more</a></p>
-</div><h4 id="method.check_local_policy_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Policy rules at the Miniscript satisfaction time.
+</div><h4 id="method.check_local_policy_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Policy rules at the Miniscript satisfaction time.
It is possible that some paths of miniscript may exceed resource limits
and our current satisfier and lifting analysis would not work correctly.
For example, satisfaction path in Legacy context scriptSig more
than 1650 bytes <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity">Read more</a></p>
-</div><h4 id="method.max_satisfaction_size" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script context, the size of a satifaction witness may slightly differ.</p>
-</div><h4 id="method.check_global_policy_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script Context, some of the script resource limits
+</div><h4 id="method.max_satisfaction_size" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script context, the size of a satifaction witness may slightly differ.</p>
+</div><h4 id="method.check_global_policy_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_policy_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script Context, some of the script resource limits
may have been exceeded under the current bitcoin core policy rules
These miniscripts would never be accepted by the Bitcoin network and hence
it is safe to discard them. (unless explicitly disabled by non-standard flag)
scripts over 3600 bytes are invalid.
Post Tapscript upgrade, this would have to consider other nodes.
This does <em>NOT</em> recursively check the miniscript fragments. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity">Read more</a></p>
-</div><h4 id="method.check_global_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity" class="fnname">check_global_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules that are not based
+</div><h4 id="method.check_global_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity" class="fnname">check_global_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules that are not based
satisfaction <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity">Read more</a></p>
-</div><h4 id="method.check_local_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity" class="fnname">check_local_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules including the
+</div><h4 id="method.check_local_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity" class="fnname">check_local_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules including the
ones for satisfaction <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity">Read more</a></p>
-</div><h4 id="method.top_level_type_check" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check whether the top-level is type B</p>
-</div><h4 id="method.other_top_level_checks" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Other top level checks that are context specific</p>
-</div><h4 id="method.top_level_checks" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check top level consensus rules.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx <span class="where fmt-newline">where<br> Ctx: 'static + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ExtScriptContext.html#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a> as a <a href="../../bdk/keys/enum.ScriptContextEnum.html" title="ScriptContextEnum"><code>ScriptContextEnum</code></a></p>
-</div><h4 id="method.is_legacy" class="method hidden"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#150-152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Legacy.html"><code>Legacy</code></a></p>
-</div><h4 id="method.is_segwit_v0" class="method hidden"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_segwit_v0" class="fnname">is_segwit_v0</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Segwitv0.html"><code>Segwitv0</code></a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.top_level_type_check" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.top_level_type_check" class="anchor"></a></h4><div class='docblock hidden'><p>Check whether the top-level is type B</p>
+</div><h4 id="method.other_top_level_checks" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.other_top_level_checks" class="anchor"></a></h4><div class='docblock hidden'><p>Other top level checks that are context specific</p>
+</div><h4 id="method.top_level_checks" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.top_level_checks" class="anchor"></a></h4><div class='docblock hidden'><p>Check top level consensus rules.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx <span class="where fmt-newline">where<br> Ctx: 'static + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ExtScriptContext.html#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#method.as_enum" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a> as a <a href="../../bdk/keys/enum.ScriptContextEnum.html" title="ScriptContextEnum"><code>ScriptContextEnum</code></a></p>
+</div><h4 id="method.is_legacy" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_legacy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#150-152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Legacy.html"><code>Legacy</code></a></p>
+</div><h4 id="method.is_segwit_v0" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_segwit_v0" class="fnname">is_segwit_v0</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_segwit_v0" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Segwitv0.html"><code>Segwitv0</code></a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Segwitv0 ScriptContext"><meta name="keywords" content="rust, rustlang, rust-lang, Segwitv0"><title>bdk::descriptor::Segwitv0 - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Segwitv0</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSegwitv0%3E">PartialEq<Segwitv0></a><a href="#impl-PartialOrd%3CSegwitv0%3E">PartialOrd<Segwitv0></a><a href="#impl-ScriptContext">ScriptContext</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-ExtScriptContext">ExtScriptContext</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Segwitv0" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Segwitv0</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Segwitv0 {}</pre></div><div class="docblock"><p>Segwitv0 ScriptContext</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CSegwitv0%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-PartialEq%3CSegwitv0%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Segwitv0</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSegwitv0%3E">PartialEq<Segwitv0></a><a href="#impl-PartialOrd%3CSegwitv0%3E">PartialOrd<Segwitv0></a><a href="#impl-ScriptContext">ScriptContext</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-ExtScriptContext">ExtScriptContext</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Segwitv0" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="enum" href="">Segwitv0</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Segwitv0 {}</pre></div><div class="docblock"><p>Segwitv0 ScriptContext</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><a href="#method.hash" class="anchor"></a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CSegwitv0%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-PartialEq%3CSegwitv0%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CSegwitv0%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-PartialOrd%3CSegwitv0%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CSegwitv0%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-PartialOrd%3CSegwitv0%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on ScriptContext, fragments can be malleable. For Example,
+</div></div><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on ScriptContext, fragments can be malleable. For Example,
under Legacy context, PkH is malleable because it is possible to
estimate the cost of satisfaction because of compressed keys
This is currently only used in compiler code for removing malleable
This does NOT recursively check if the children of the fragment are
valid or not. Since the compilation proceeds in a leaf to root fashion,
a recursive check is unnecessary. <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.check_terminal_non_malleable">Read more</a></p>
-</div><h4 id="method.check_witness" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check whether the given satisfaction is valid under the ScriptContext
+</div><h4 id="method.check_witness" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness" class="anchor"></a></h4><div class='docblock hidden'><p>Check whether the given satisfaction is valid under the ScriptContext
For example, segwit satisfactions may fail if the witness len is more
3600 or number of stack elements are more than 100. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_witness">Read more</a></p>
-</div><h4 id="method.check_global_consensus_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script Context, some of the Terminals might not
+</div><h4 id="method.check_global_consensus_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script Context, some of the Terminals might not
be valid under the current consensus rules.
Or some of the script resource limits may have been exceeded.
These miniscripts would never be accepted by the Bitcoin network and hence
In LegacyP2SH context, scripts above 520 bytes are invalid.
Post Tapscript upgrade, this would have to consider other nodes.
This does <em>NOT</em> recursively check the miniscript fragments. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_consensus_validity">Read more</a></p>
-</div><h4 id="method.check_local_consensus_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Consensus rules at the Miniscript satisfaction time.
+</div><h4 id="method.check_local_consensus_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Consensus rules at the Miniscript satisfaction time.
It is possible that some paths of miniscript may exceed resource limits
and our current satisfier and lifting analysis would not work correctly.
For example, satisfaction path(Legacy/Segwitv0) may require more than 201 opcodes. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_consensus_validity">Read more</a></p>
-</div><h4 id="method.check_global_policy_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script Context, some of the script resource limits
+</div><h4 id="method.check_global_policy_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_policy_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script Context, some of the script resource limits
may have been exceeded under the current bitcoin core policy rules
These miniscripts would never be accepted by the Bitcoin network and hence
it is safe to discard them. (unless explicitly disabled by non-standard flag)
scripts over 3600 bytes are invalid.
Post Tapscript upgrade, this would have to consider other nodes.
This does <em>NOT</em> recursively check the miniscript fragments. <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_policy_validity">Read more</a></p>
-</div><h4 id="method.check_local_policy_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Policy rules at the Miniscript satisfaction time.
+</div><h4 id="method.check_local_policy_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Policy rules at the Miniscript satisfaction time.
It is possible that some paths of miniscript may exceed resource limits
and our current satisfier and lifting analysis would not work correctly.
For example, satisfaction path in Legacy context scriptSig more
than 1650 bytes <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_policy_validity">Read more</a></p>
-</div><h4 id="method.max_satisfaction_size" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Depending on script context, the size of a satifaction witness may slightly differ.</p>
-</div><h4 id="method.check_global_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity" class="fnname">check_global_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules that are not based
+</div><h4 id="method.max_satisfaction_size" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4><div class='docblock hidden'><p>Depending on script context, the size of a satifaction witness may slightly differ.</p>
+</div><h4 id="method.check_global_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity" class="fnname">check_global_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules that are not based
satisfaction <a href="../../bdk/keys/trait.ScriptContext.html#method.check_global_validity">Read more</a></p>
-</div><h4 id="method.check_local_validity" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity" class="fnname">check_local_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules including the
+</div><h4 id="method.check_local_validity" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity" class="fnname">check_local_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_validity" class="anchor"></a></h4><div class='docblock hidden'><p>Check the consensus + policy(if not disabled) rules including the
ones for satisfaction <a href="../../bdk/keys/trait.ScriptContext.html#method.check_local_validity">Read more</a></p>
-</div><h4 id="method.top_level_type_check" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check whether the top-level is type B</p>
-</div><h4 id="method.other_top_level_checks" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Other top level checks that are context specific</p>
-</div><h4 id="method.top_level_checks" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><div class='docblock hidden'><p>Check top level consensus rules.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx <span class="where fmt-newline">where<br> Ctx: 'static + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden"><code>pub fn <a href="../../bdk/keys/trait.ExtScriptContext.html#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a> as a <a href="../../bdk/keys/enum.ScriptContextEnum.html" title="ScriptContextEnum"><code>ScriptContextEnum</code></a></p>
-</div><h4 id="method.is_legacy" class="method hidden"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#150-152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Legacy.html"><code>Legacy</code></a></p>
-</div><h4 id="method.is_segwit_v0" class="method hidden"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_segwit_v0" class="fnname">is_segwit_v0</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Segwitv0.html"><code>Segwitv0</code></a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.top_level_type_check" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.top_level_type_check" class="anchor"></a></h4><div class='docblock hidden'><p>Check whether the top-level is type B</p>
+</div><h4 id="method.other_top_level_checks" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.other_top_level_checks" class="anchor"></a></h4><div class='docblock hidden'><p>Other top level checks that are context specific</p>
+</div><h4 id="method.top_level_checks" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ScriptContext.html#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.top_level_checks" class="anchor"></a></h4><div class='docblock hidden'><p>Check top level consensus rules.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx <span class="where fmt-newline">where<br> Ctx: 'static + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden trait-impl"><code>pub fn <a href="../../bdk/keys/trait.ExtScriptContext.html#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#method.as_enum" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a> as a <a href="../../bdk/keys/enum.ScriptContextEnum.html" title="ScriptContextEnum"><code>ScriptContextEnum</code></a></p>
+</div><h4 id="method.is_legacy" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_legacy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#150-152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Legacy.html"><code>Legacy</code></a></p>
+</div><h4 id="method.is_segwit_v0" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.ExtScriptContext.html#method.is_segwit_v0" class="fnname">is_segwit_v0</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_segwit_v0" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#155-157" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Segwitv0.html"><code>Segwitv0</code></a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Errors related to the parsing and usage of descriptors"><meta name="keywords" content="rust, rustlang, rust-lang, Error"><title>bdk::descriptor::error::Error - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Error</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Base58">Base58</a><a href="#variant.Bip32">Bip32</a><a href="#variant.DuplicatedKeys">DuplicatedKeys</a><a href="#variant.HardenedDerivationXpub">HardenedDerivationXpub</a><a href="#variant.Hex">Hex</a><a href="#variant.InvalidDescriptorCharacter">InvalidDescriptorCharacter</a><a href="#variant.InvalidDescriptorChecksum">InvalidDescriptorChecksum</a><a href="#variant.InvalidHdKeyPath">InvalidHdKeyPath</a><a href="#variant.Key">Key</a><a href="#variant.Miniscript">Miniscript</a><a href="#variant.Pk">Pk</a><a href="#variant.Policy">Policy</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">error</a></p><div id="sidebar-vars" data-name="Error" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">error</a>::<wbr><a class="enum" href="">Error</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#16-44" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Error {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Error</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Base58">Base58</a><a href="#variant.Bip32">Bip32</a><a href="#variant.DuplicatedKeys">DuplicatedKeys</a><a href="#variant.HardenedDerivationXpub">HardenedDerivationXpub</a><a href="#variant.Hex">Hex</a><a href="#variant.InvalidDescriptorCharacter">InvalidDescriptorCharacter</a><a href="#variant.InvalidDescriptorChecksum">InvalidDescriptorChecksum</a><a href="#variant.InvalidHdKeyPath">InvalidHdKeyPath</a><a href="#variant.Key">Key</a><a href="#variant.Miniscript">Miniscript</a><a href="#variant.Pk">Pk</a><a href="#variant.Policy">Policy</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">error</a></p><div id="sidebar-vars" data-name="Error" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">error</a>::<wbr><a class="enum" href="">Error</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#16-44" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Error {
InvalidHdKeyPath,
InvalidDescriptorChecksum,
HardenedDerivationXpub,
</div><div id="variant.Pk" class="variant small-section-header"><a href="#variant.Pk" class="anchor field"></a><code>Pk(Error)</code></div><div class="docblock"><p>Key-related error</p>
</div><div id="variant.Miniscript" class="variant small-section-header"><a href="#variant.Miniscript" class="anchor field"></a><code>Miniscript(Error)</code></div><div class="docblock"><p>Miniscript error</p>
</div><div id="variant.Hex" class="variant small-section-header"><a href="#variant.Hex" class="anchor field"></a><code>Hex(Error)</code></div><div class="docblock"><p>Hex decoding error</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#15" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#15" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#56-60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#57-59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#62" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#64" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#66" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-4" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#67" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-5" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#68" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#68" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#46-54" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#47-53" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-7" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-8" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#15" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#15" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#56-60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#57-59" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#62" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#64" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#64" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#66" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-4" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#67" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-5" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CError%3E-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#68" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-6" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#68" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#46-54" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#47-53" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-7" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a href="#method.from-7" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-8" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-8" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Descriptor errors"><meta name="keywords" content="rust, rustlang, rust-lang, error"><title>bdk::descriptor::error - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module error</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="error" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">error</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#12-69" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor errors</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module error</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="error" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">error</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#12-69" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor errors</p>
</div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<table><tr class="module-item"><td><a class="enum" href="enum.Error.html" title="bdk::descriptor::error::Error enum">Error</a></td><td class="docblock-short"><p>Errors related to the parsing and usage of descriptors</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<!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="Descriptors"><meta name="keywords" content="rust, rustlang, rust-lang, descriptor"><title>bdk::descriptor - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module descriptor</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="descriptor" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">descriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#12-801" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptors</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module descriptor</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="descriptor" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">descriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#12-801" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptors</p>
<p>This module contains generic utilities to work with descriptors, plus some re-exported types
from [<code>miniscript</code>].</p>
</div><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
<!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="Errors that can happen while extracting and manipulating policies"><meta name="keywords" content="rust, rustlang, rust-lang, PolicyError"><title>bdk::descriptor::policy::PolicyError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum PolicyError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AddOnLeaf">AddOnLeaf</a><a href="#variant.AddOnPartialComplete">AddOnPartialComplete</a><a href="#variant.IncompatibleConditions">IncompatibleConditions</a><a href="#variant.IndexOutOfRange">IndexOutOfRange</a><a href="#variant.MixedTimelockUnits">MixedTimelockUnits</a><a href="#variant.NotEnoughItemsSelected">NotEnoughItemsSelected</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a><a href="#impl-PartialEq%3CPolicyError%3E">PartialEq<PolicyError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="PolicyError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">PolicyError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#505-518" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum PolicyError {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum PolicyError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AddOnLeaf">AddOnLeaf</a><a href="#variant.AddOnPartialComplete">AddOnPartialComplete</a><a href="#variant.IncompatibleConditions">IncompatibleConditions</a><a href="#variant.IndexOutOfRange">IndexOutOfRange</a><a href="#variant.MixedTimelockUnits">MixedTimelockUnits</a><a href="#variant.NotEnoughItemsSelected">NotEnoughItemsSelected</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a><a href="#impl-PartialEq%3CPolicyError%3E">PartialEq<PolicyError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="PolicyError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">PolicyError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#505-518" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum PolicyError {
NotEnoughItemsSelected(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>),
IndexOutOfRange(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>),
AddOnLeaf,
</div><div id="variant.AddOnPartialComplete" class="variant small-section-header"><a href="#variant.AddOnPartialComplete" class="anchor field"></a><code>AddOnPartialComplete</code></div><div class="docblock"><p>Can not add to an item that is <a href="../../../bdk/descriptor/policy/enum.Satisfaction.html#variant.PartialComplete" title="Satisfaction::PartialComplete"><code>Satisfaction::PartialComplete</code></a></p>
</div><div id="variant.MixedTimelockUnits" class="variant small-section-header"><a href="#variant.MixedTimelockUnits" class="anchor field"></a><code>MixedTimelockUnits</code></div><div class="docblock"><p>Can not merge CSV or timelock values unless both are less than or both are equal or greater than 500_000_000</p>
</div><div id="variant.IncompatibleConditions" class="variant small-section-header"><a href="#variant.IncompatibleConditions" class="anchor field"></a><code>IncompatibleConditions</code></div><div class="docblock"><p>Incompatible conditions (not currently used)</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#520-524" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#521-523" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#526" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CPolicyError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-PartialEq%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#520-524" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#521-523" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#526" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CPolicyError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/error.rs.html#69" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-PartialEq%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#504" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Represent if and how much a policy item is satisfied by the wallet’s descriptor"><meta name="keywords" content="rust, rustlang, rust-lang, Satisfaction"><title>bdk::descriptor::policy::Satisfaction - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Satisfaction</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Complete">Complete</a><a href="#variant.None">None</a><a href="#variant.Partial">Partial</a><a href="#variant.PartialComplete">PartialComplete</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_leaf">is_leaf</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3Cbool%3E">From<bool></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Satisfaction" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">Satisfaction</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#260-302" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Satisfaction {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Satisfaction</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Complete">Complete</a><a href="#variant.None">None</a><a href="#variant.Partial">Partial</a><a href="#variant.PartialComplete">PartialComplete</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_leaf">is_leaf</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3Cbool%3E">From<bool></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Satisfaction" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">Satisfaction</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#260-302" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Satisfaction {
Partial {
n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
m: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
</div></div></div><div id="variant.Complete" class="variant small-section-header"><a href="#variant.Complete" class="anchor field"></a><code>Complete</code></div><div class="docblock"><p>Can satisfy the policy item</p>
</div><div class="autohide sub-variant" id="variant.Complete.fields"><h3>Fields of <b>Complete</b></h3><div><span id="variant.Complete.field.condition" class="variant small-section-header"><a href="#variant.Complete.field.condition" class="anchor field"></a><code>condition: <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code></span><div class="docblock"><p>Extra conditions that also need to be satisfied</p>
</div></div></div><div id="variant.None" class="variant small-section-header"><a href="#variant.None" class="anchor field"></a><code>None</code></div><div class="docblock"><p>Cannot satisfy or contribute to the policy item</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#304-419" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_leaf" class="method"><code>pub fn <a href="#method.is_leaf" class="fnname">is_leaf</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#306-311" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the <a href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="Satisfaction"><code>Satisfaction</code></a> is a leaf item</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3Cbool%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-From%3Cbool%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#421-431" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#422-430" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#304-419" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_leaf" class="method"><code>pub fn <a href="#method.is_leaf" class="fnname">is_leaf</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_leaf" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#306-311" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the <a href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="Satisfaction"><code>Satisfaction</code></a> is a leaf item</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3Cbool%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-From%3Cbool%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#421-431" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#422-430" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#258" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="An item that needs to be satisfied"><meta name="keywords" content="rust, rustlang, rust-lang, SatisfiableItem"><title>bdk::descriptor::policy::SatisfiableItem - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SatisfiableItem</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AbsoluteTimelock">AbsoluteTimelock</a><a href="#variant.Hash160Preimage">Hash160Preimage</a><a href="#variant.Hash256Preimage">Hash256Preimage</a><a href="#variant.Multisig">Multisig</a><a href="#variant.RelativeTimelock">RelativeTimelock</a><a href="#variant.Ripemd160Preimage">Ripemd160Preimage</a><a href="#variant.Sha256Preimage">Sha256Preimage</a><a href="#variant.Signature">Signature</a><a href="#variant.SignatureKey">SignatureKey</a><a href="#variant.Thresh">Thresh</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.id">id</a><a href="#method.is_leaf">is_leaf</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CSatisfiableItem%3E">From<SatisfiableItem></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="SatisfiableItem" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">SatisfiableItem</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#106-158" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SatisfiableItem {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SatisfiableItem</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AbsoluteTimelock">AbsoluteTimelock</a><a href="#variant.Hash160Preimage">Hash160Preimage</a><a href="#variant.Hash256Preimage">Hash256Preimage</a><a href="#variant.Multisig">Multisig</a><a href="#variant.RelativeTimelock">RelativeTimelock</a><a href="#variant.Ripemd160Preimage">Ripemd160Preimage</a><a href="#variant.Sha256Preimage">Sha256Preimage</a><a href="#variant.Signature">Signature</a><a href="#variant.SignatureKey">SignatureKey</a><a href="#variant.Thresh">Thresh</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.id">id</a><a href="#method.is_leaf">is_leaf</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CSatisfiableItem%3E">From<SatisfiableItem></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="SatisfiableItem" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="enum" href="">SatisfiableItem</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#106-158" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SatisfiableItem {
Signature(<a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a>),
SignatureKey(<a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a>),
Sha256Preimage {
</div></div></div><div id="variant.Thresh" class="variant small-section-header"><a href="#variant.Thresh" class="anchor field"></a><code>Thresh</code></div><div class="docblock"><p>Threshold items with threshold count</p>
</div><div class="autohide sub-variant" id="variant.Thresh.fields"><h3>Fields of <b>Thresh</b></h3><div><span id="variant.Thresh.field.items" class="variant small-section-header"><a href="#variant.Thresh.field.items" class="anchor field"></a><code>items: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>></code></span><div class="docblock"><p>The policy items</p>
</div><span id="variant.Thresh.field.threshold" class="variant small-section-header"><a href="#variant.Thresh.field.threshold" class="anchor field"></a><code>threshold: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class="docblock"><p>The required threshold count</p>
-</div></div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#160-177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_leaf" class="method"><code>pub fn <a href="#method.is_leaf" class="fnname">is_leaf</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#162-170" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the <a href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="SatisfiableItem"><code>SatisfiableItem</code></a> is a leaf item</p>
-</div><h4 id="method.id" class="method"><code>pub fn <a href="#method.id" class="fnname">id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#173-176" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns a unique id for the <a href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="SatisfiableItem"><code>SatisfiableItem</code></a></p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3CSatisfiableItem%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-From%3CSatisfiableItem%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#749-753" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#750-752" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#160-177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_leaf" class="method"><code>pub fn <a href="#method.is_leaf" class="fnname">is_leaf</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_leaf" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#162-170" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the <a href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="SatisfiableItem"><code>SatisfiableItem</code></a> is a leaf item</p>
+</div><h4 id="method.id" class="method"><code>pub fn <a href="#method.id" class="fnname">id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.id" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#173-176" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns a unique id for the <a href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="SatisfiableItem"><code>SatisfiableItem</code></a></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3CSatisfiableItem%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-From%3CSatisfiableItem%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#749-753" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#750-752" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#104" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Descriptor policy"><meta name="keywords" content="rust, rustlang, rust-lang, policy"><title>bdk::descriptor::policy - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module policy</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="policy" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">policy</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#12-1444" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor policy</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module policy</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="policy" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">policy</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#12-1444" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor policy</p>
<p>This module implements the logic to extract and represent the spending policies of a descriptor
in a more human-readable format.</p>
<p>This is an <strong>EXPERIMENTAL</strong> feature, API and other major changes are expected.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+<span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wsh(and_v(v:pk(cV3oCth6zxZ1UVsHLnGothsWNsaoxRhC6aeNi5VbSdFpwUkgkEci),or_d(pk(cVMTy7uebJgvFaSBwcgvwk8qn8xSLc97dKow4MBetjrrahZoimm2),older(12960))))"</span>;
-<span class="kw">let</span> (<span class="ident">extended_desc</span>, <span class="ident">key_map</span>) <span class="op">=</span> <span class="ident">ExtendedDescriptor</span>::<span class="ident">parse_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">desc</span>)<span class="question-mark">?</span>;
-<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">extended_desc</span>);
+<span class="kw">let</span> (<span class="ident">extended_desc</span>, <span class="ident">key_map</span>) <span class="op">=</span> <span class="ident">ExtendedDescriptor::parse_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">desc</span>)<span class="question-mark">?</span>;
+<span class="macro">println!</span>(<span class="string">"{:?}"</span>, <span class="ident">extended_desc</span>);
-<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">key_map</span>.<span class="ident">into</span>());
+<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">key_map</span>.<span class="ident">into</span>());
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">extended_desc</span>.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers</span>, <span class="kw-2">&</span><span class="ident">secp</span>)<span class="question-mark">?</span>;
-<span class="macro">println</span><span class="macro">!</span>(<span class="string">"policy: {}"</span>, <span class="ident">serde_json</span>::<span class="ident">to_string</span>(<span class="kw-2">&</span><span class="ident">policy</span>)<span class="question-mark">?</span>);</pre></div>
+<span class="macro">println!</span>(<span class="string">"policy: {}"</span>, <span class="ident">serde_json::to_string</span>(<span class="kw-2">&</span><span class="ident">policy</span>)<span class="question-mark">?</span>);</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.Condition.html" title="bdk::descriptor::policy::Condition struct">Condition</a></td><td class="docblock-short"><p>An extra condition that must be satisfied but that is out of control of the user</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.PkOrF.html" title="bdk::descriptor::policy::PkOrF struct">PkOrF</a></td><td class="docblock-short"><p>Raw public key or extended key fingerprint</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="An extra condition that must be satisfied but that is out of control of the user"><meta name="keywords" content="rust, rustlang, rust-lang, Condition"><title>bdk::descriptor::policy::Condition - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Condition</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.csv">csv</a><a href="#structfield.timelock">timelock</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_null">is_null</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CCondition%3E">PartialEq<Condition></a><a href="#impl-PartialOrd%3CCondition%3E">PartialOrd<Condition></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Condition" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">Condition</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#450-457" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Condition {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Condition</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.csv">csv</a><a href="#structfield.timelock">timelock</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_null">is_null</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CCondition%3E">PartialEq<Condition></a><a href="#impl-PartialOrd%3CCondition%3E">PartialOrd<Condition></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Condition" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">Condition</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#450-457" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Condition {
pub csv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
pub timelock: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>>,
}</pre></div><div class="docblock"><p>An extra condition that must be satisfied but that is out of control of the user</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.csv" class="structfield small-section-header"><a href="#structfield.csv" class="anchor field"></a><code>csv: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Optional CheckSequenceVerify condition</p>
</div><span id="structfield.timelock" class="structfield small-section-header"><a href="#structfield.timelock" class="anchor field"></a><code>timelock: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Optional timelock condition</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#459-501" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_null" class="method"><code>pub fn <a href="#method.is_null" class="fnname">is_null</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#498-500" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns <code>true</code> if there are no extra conditions to verify</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CCondition%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-PartialEq%3CCondition%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#459-501" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_null" class="method"><code>pub fn <a href="#method.is_null" class="fnname">is_null</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_null" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#498-500" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns <code>true</code> if there are no extra conditions to verify</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CCondition%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-PartialEq%3CCondition%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CCondition%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-PartialOrd%3CCondition%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CCondition%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-PartialOrd%3CCondition%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#449" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Raw public key or extended key fingerprint"><meta name="keywords" content="rust, rustlang, rust-lang, PkOrF"><title>bdk::descriptor::policy::PkOrF - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PkOrF</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="PkOrF" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">PkOrF</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#72-79" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PkOrF { /* fields omitted */ }</pre></div><div class="docblock"><p>Raw public key or extended key fingerprint</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PkOrF</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="PkOrF" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">PkOrF</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#72-79" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PkOrF { /* fields omitted */ }</pre></div><div class="docblock"><p>Raw public key or extended key fingerprint</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#71" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.PkOrF.html" title="struct bdk::descriptor::policy::PkOrF">PkOrF</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Descriptor spending policy"><meta name="keywords" content="rust, rustlang, rust-lang, Policy"><title>bdk::descriptor::policy::Policy - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Policy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.contribution">contribution</a><a href="#structfield.id">id</a><a href="#structfield.item">item</a><a href="#structfield.satisfaction">satisfaction</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.fill_satisfactions">fill_satisfactions</a><a href="#method.get_condition">get_condition</a><a href="#method.requires_path">requires_path</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CSatisfiableItem%3E">From<SatisfiableItem></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Policy" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">Policy</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#435-446" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Policy {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Policy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.contribution">contribution</a><a href="#structfield.id">id</a><a href="#structfield.item">item</a><a href="#structfield.satisfaction">satisfaction</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.fill_satisfactions">fill_satisfactions</a><a href="#method.get_condition">get_condition</a><a href="#method.requires_path">requires_path</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-From%3CSatisfiableItem%3E">From<SatisfiableItem></a><a href="#impl-Serialize">Serialize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="Policy" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="struct" href="">Policy</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#435-446" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Policy {
pub id: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
pub item: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>,
pub satisfaction: <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a>,
</div><span id="structfield.item" class="structfield small-section-header"><a href="#structfield.item" class="anchor field"></a><code>item: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a></code></span><div class="docblock"><p>Type of this policy node</p>
</div><span id="structfield.satisfaction" class="structfield small-section-header"><a href="#structfield.satisfaction" class="anchor field"></a><code>satisfaction: <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code></span><div class="docblock"><p>How much a given PSBT already satisfies this policy node in terms of signatures</p>
</div><span id="structfield.contribution" class="structfield small-section-header"><a href="#structfield.contribution" class="anchor field"></a><code>contribution: <a class="enum" href="../../../bdk/descriptor/policy/enum.Satisfaction.html" title="enum bdk::descriptor::policy::Satisfaction">Satisfaction</a></code></span><div class="docblock"><p>How the wallet’s descriptor can satisfy this policy node</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#528-747" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.requires_path" class="method"><code>pub fn <a href="#method.requires_path" class="fnname">requires_path</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#625-627" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not a specific path in the policy tree is required to unambiguously
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#528-747" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.requires_path" class="method"><code>pub fn <a href="#method.requires_path" class="fnname">requires_path</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.requires_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#625-627" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not a specific path in the policy tree is required to unambiguously
create a transaction</p>
<p>What this means is that for some spending policies the user should select which paths in
the tree it intends to satisfy while signing, because the transaction must be created differently based
on that.</p>
-</div><h4 id="method.get_condition" class="method"><code>pub fn <a href="#method.get_condition" class="fnname">get_condition</a>(<br> &self, <br> path: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>, <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#631-700" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the conditions that are set by the spending policy for a given path in the
+</div><h4 id="method.get_condition" class="method"><code>pub fn <a href="#method.get_condition" class="fnname">get_condition</a>(<br> &self, <br> path: &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>, <a class="enum" href="../../../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>></code><a href="#method.get_condition" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#631-700" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the conditions that are set by the spending policy for a given path in the
policy tree</p>
-</div><h4 id="method.fill_satisfactions" class="method"><code>pub fn <a href="#method.fill_satisfactions" class="fnname">fill_satisfactions</a>(<br> &mut self, <br> psbt: &PSBT, <br> desc: &<a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#703-723" title="goto source code">[src]</a></h4><div class="docblock"><p>fill <code>self.satisfaction</code> with the signatures we already have in the PSBT</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-From%3CSatisfiableItem%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-From%3CSatisfiableItem%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#749-753" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>) -> Self</code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#750-752" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.fill_satisfactions" class="method"><code>pub fn <a href="#method.fill_satisfactions" class="fnname">fill_satisfactions</a>(<br> &mut self, <br> psbt: &PSBT, <br> desc: &<a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.fill_satisfactions" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#703-723" title="goto source code">[src]</a></h4><div class="docblock"><p>fill <code>self.satisfaction</code> with the signatures we already have in the PSBT</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-From%3CSatisfiableItem%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-From%3CSatisfiableItem%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#749-753" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../../../bdk/descriptor/policy/enum.SatisfiableItem.html" title="enum bdk::descriptor::policy::SatisfiableItem">SatisfiableItem</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#750-752" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#434" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type for a map of sets of [`Condition`] items keyed by each set’s index"><meta name="keywords" content="rust, rustlang, rust-lang, ConditionMap"><title>bdk::descriptor::policy::ConditionMap - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ConditionMap</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="ConditionMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="type" href="">ConditionMap</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#238" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ConditionMap = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>>>;</pre><div class="docblock"><p>Type for a map of sets of <a href="../../../bdk/descriptor/policy/struct.Condition.html" title="Condition"><code>Condition</code></a> items keyed by each set’s index</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ConditionMap</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="ConditionMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="type" href="">ConditionMap</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#238" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ConditionMap = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>>>;</pre><div class="docblock"><p>Type for a map of sets of <a href="../../../bdk/descriptor/policy/struct.Condition.html" title="Condition"><code>Condition</code></a> items keyed by each set’s index</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type for a map of folded sets of [`Condition`] items keyed by a vector of the combined set’s indexes"><meta name="keywords" content="rust, rustlang, rust-lang, FoldedConditionMap"><title>bdk::descriptor::policy::FoldedConditionMap - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition FoldedConditionMap</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="FoldedConditionMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="type" href="">FoldedConditionMap</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#240" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type FoldedConditionMap = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>>>;</pre><div class="docblock"><p>Type for a map of folded sets of <a href="../../../bdk/descriptor/policy/struct.Condition.html" title="Condition"><code>Condition</code></a> items keyed by a vector of the combined set’s indexes</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition FoldedConditionMap</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a></p><div id="sidebar-vars" data-name="FoldedConditionMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">policy</a>::<wbr><a class="type" href="">FoldedConditionMap</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/policy.rs.html#240" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type FoldedConditionMap = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><<a class="struct" href="../../../bdk/descriptor/policy/struct.Condition.html" title="struct bdk::descriptor::policy::Condition">Condition</a>>>;</pre><div class="docblock"><p>Type for a map of folded sets of <a href="../../../bdk/descriptor/policy/struct.Condition.html" title="Condition"><code>Condition</code></a> items keyed by a vector of the combined set’s indexes</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Extended [`DescriptorPublicKey`] that has been derived"><meta name="keywords" content="rust, rustlang, rust-lang, DerivedDescriptorKey"><title>bdk::descriptor::DerivedDescriptorKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DerivedDescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#deref-methods-DescriptorPublicKey">Methods from Deref<Target=DescriptorPublicKey></a><div class="sidebar-links"><a href="#method.derive_public_key">derive_public_key</a><a href="#method.full_derivation_path">full_derivation_path</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.master_fingerprint">master_fingerprint</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deref">Deref</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-MiniscriptKey">MiniscriptKey</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E">PartialEq<DerivedDescriptorKey<'s>></a><a href="#impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E">PartialOrd<DerivedDescriptorKey<'s>></a><a href="#impl-ToPublicKey">ToPublicKey</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="DerivedDescriptorKey" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="struct" href="">DerivedDescriptorKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#34" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DerivedDescriptorKey<'s>(_, _);</pre></div><div class="docblock"><p>Extended <a href="../../bdk/keys/enum.DescriptorPublicKey.html" title="DescriptorPublicKey"><code>DescriptorPublicKey</code></a> that has been derived</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DerivedDescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deref">Deref</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-MiniscriptKey">MiniscriptKey</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E">PartialEq<DerivedDescriptorKey<'s>></a><a href="#impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E">PartialOrd<DerivedDescriptorKey<'s>></a><a href="#impl-ToPublicKey">ToPublicKey</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div><a class="sidebar-title" href="#deref-methods-DescriptorPublicKey">Methods from Deref<Target=DescriptorPublicKey></a><div class="sidebar-links"><a href="#method.derive_public_key">derive_public_key</a><a href="#method.full_derivation_path">full_derivation_path</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.master_fingerprint">master_fingerprint</a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="DerivedDescriptorKey" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="struct" href="">DerivedDescriptorKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#34" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DerivedDescriptorKey<'s>(_, _);</pre></div><div class="docblock"><p>Extended <a href="../../bdk/keys/enum.DescriptorPublicKey.html" title="DescriptorPublicKey"><code>DescriptorPublicKey</code></a> that has been derived</p>
<p>Derived keys are guaranteed to never contain wildcards of any kind</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<'s> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#36-47" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(<br> key: <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <br> secp: &'s Secp256k1<All><br>) -> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#40-46" title="goto source code">[src]</a></h4><div class="docblock"><p>Construct a new derived key</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<'s> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#36-47" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(<br> key: <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <br> secp: &'s Secp256k1<All><br>) -> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#40-46" title="goto source code">[src]</a></h4><div class="docblock"><p>Construct a new derived key</p>
<p>Panics if the key is wildcard</p>
-</div></div><h2 id="deref-methods-DescriptorPublicKey" class="small-section-header">Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>><a href="#deref-methods-DescriptorPublicKey" class="anchor"></a></h2><div class="impl-items"><h4 id="method.master_fingerprint" class="method"><code>pub fn <a href="#method.master_fingerprint" class="fnname">master_fingerprint</a>(&self) -> Fingerprint</code></h4><div class="docblock"><p>The fingerprint of the master key associated with this key</p>
-</div><h4 id="method.full_derivation_path" class="method"><code>pub fn <a href="#method.full_derivation_path" class="fnname">full_derivation_path</a>(&self) -> DerivationPath</code></h4><div class="docblock"><p>Full path, from the master key</p>
+</div></div><h2 id="deref-methods-DescriptorPublicKey" class="small-section-header">Methods from <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a><Target = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>><a href="#deref-methods-DescriptorPublicKey" class="anchor"></a></h2><div class="impl-items"><h4 id="method.master_fingerprint" class="method"><code>pub fn <a href="#method.master_fingerprint" class="fnname">master_fingerprint</a>(&self) -> Fingerprint</code><a href="#method.master_fingerprint" class="anchor"></a></h4><div class="docblock"><p>The fingerprint of the master key associated with this key</p>
+</div><h4 id="method.full_derivation_path" class="method"><code>pub fn <a href="#method.full_derivation_path" class="fnname">full_derivation_path</a>(&self) -> DerivationPath</code><a href="#method.full_derivation_path" class="anchor"></a></h4><div class="docblock"><p>Full path, from the master key</p>
<p>For wildcard keys this will return the path up to the wildcard, so you
can get full paths by appending one additional derivation step, according
to the wildcard type (hardened or normal)</p>
-</div><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether or not the key has a wildcards</p>
-</div><h4 id="method.derive_public_key" class="method"><code>pub fn <a href="#method.derive_public_key" class="fnname">derive_public_key</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><PublicKey, ConversionError> <span class="where fmt-newline">where<br> C: Verification, </span></code></h4><div class="docblock"><p>Computes the public key corresponding to this descriptor key</p>
+</div><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_deriveable" class="anchor"></a></h4><div class="docblock"><p>Whether or not the key has a wildcards</p>
+</div><h4 id="method.derive_public_key" class="method"><code>pub fn <a href="#method.derive_public_key" class="fnname">derive_public_key</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><PublicKey, ConversionError> <span class="where fmt-newline">where<br> C: Verification, </span></code><a href="#method.derive_public_key" class="anchor"></a></h4><div class="docblock"><p>Computes the public key corresponding to this descriptor key</p>
<p>Will return an error if the descriptor key has any hardened
derivation steps in its path, or if the key has any wildcards.</p>
<p>To ensure there are no wildcards, call <code>.derive(0)</code> or similar;
to avoid hardened derivation steps, start from a <code>DescriptorSecretKey</code>
and call <code>as_public</code>, or call <code>TranslatePk2::translate_pk2</code> with
some function which has access to secret key data.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deref" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Deref" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#49-55" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Target" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="type">Target</a> = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code></h4><div class='docblock'><p>The resulting type after dereferencing.</p>
-</div><h4 id="method.deref" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&self) -> &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#52-54" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Dereferences the value.</p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#77-81" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#78-80" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#63" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#83-87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H)</code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#84-86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-MiniscriptKey" class="impl"><code class="in-band">impl<'s> MiniscriptKey for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-MiniscriptKey" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#89-102" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Hash" class="type"><code>type <a href="#associatedtype.Hash" class="type">Hash</a> = Self</code></h4><div class='docblock'><p>The associated Hash type with the publicKey</p>
-</div><h4 id="method.to_pubkeyhash" class="method hidden"><code>fn <a href="#method.to_pubkeyhash" class="fnname">to_pubkeyhash</a>(&self) -> Self::Hash</code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#92-94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts an object to PublicHash</p>
-</div><h4 id="method.is_uncompressed" class="method hidden"><code>fn <a href="#method.is_uncompressed" class="fnname">is_uncompressed</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#96-98" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Check if the publicKey is uncompressed. The default
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#33" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deref" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Deref" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#49-55" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Target" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="type">Target</a> = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#associatedtype.Target" class="anchor"></a></h4><div class='docblock'><p>The resulting type after dereferencing.</p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&self) -> &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></code><a href="#method.deref" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#52-54" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Dereferences the value.</p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#77-81" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#78-80" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#63" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#83-87" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#84-86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-MiniscriptKey" class="impl"><code class="in-band">impl<'s> MiniscriptKey for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-MiniscriptKey" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#89-102" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Hash" class="type trait-impl"><code>type <a href="#associatedtype.Hash" class="type">Hash</a> = Self</code><a href="#associatedtype.Hash" class="anchor"></a></h4><div class='docblock'><p>The associated Hash type with the publicKey</p>
+</div><h4 id="method.to_pubkeyhash" class="method hidden trait-impl"><code>fn <a href="#tymethod.to_pubkeyhash" class="fnname">to_pubkeyhash</a>(&self) -> Self::Hash</code><a href="#method.to_pubkeyhash" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#92-94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts an object to PublicHash</p>
+</div><h4 id="method.is_uncompressed" class="method hidden trait-impl"><code>fn <a href="#method.is_uncompressed" class="fnname">is_uncompressed</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_uncompressed" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#96-98" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Check if the publicKey is uncompressed. The default
implementation returns false <a href="#method.is_uncompressed">Read more</a></p>
-</div><h4 id="method.serialized_len" class="method hidden"><code>fn <a href="#method.serialized_len" class="fnname">serialized_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#99-101" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Computes the size of a public key when serialized in a script,
+</div><h4 id="method.serialized_len" class="method hidden trait-impl"><code>fn <a href="#method.serialized_len" class="fnname">serialized_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.serialized_len" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#99-101" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Computes the size of a public key when serialized in a script,
including the length bytes <a href="#method.serialized_len">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#71-75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#72-74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#57-61" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#58-60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#71-75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#72-74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-PartialEq%3CDerivedDescriptorKey%3C%27s%3E%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#57-61" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#58-60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#65-69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#66-68" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-PartialOrd%3CDerivedDescriptorKey%3C%27s%3E%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#65-69" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#66-68" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-ToPublicKey" class="impl"><code class="in-band">impl<'s> ToPublicKey for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-ToPublicKey" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#104-120" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_public_key" class="method hidden"><code>fn <a href="#method.to_public_key" class="fnname">to_public_key</a>(&self) -> PublicKey</code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#105-115" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts an object to a public key</p>
-</div><h4 id="method.hash_to_hash160" class="method hidden"><code>fn <a href="#method.hash_to_hash160" class="fnname">hash_to_hash160</a>(hash: &Self::Hash) -> Hash</code><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#117-119" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts a hashed version of the public key to a <code>hash160</code> hash. <a href="#tymethod.hash_to_hash160">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-ToPublicKey" class="impl"><code class="in-band">impl<'s> ToPublicKey for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-ToPublicKey" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#104-120" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_public_key" class="method hidden trait-impl"><code>fn <a href="#tymethod.to_public_key" class="fnname">to_public_key</a>(&self) -> PublicKey</code><a href="#method.to_public_key" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#105-115" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts an object to a public key</p>
+</div><h4 id="method.hash_to_hash160" class="method hidden trait-impl"><code>fn <a href="#tymethod.hash_to_hash160" class="fnname">hash_to_hash160</a>(hash: &Self::Hash) -> Hash</code><a href="#method.hash_to_hash160" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/derived.rs.html#117-119" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts a hashed version of the public key to a <code>hash160</code> hash. <a href="#tymethod.hash_to_hash160">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<'s> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref-1" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref-1" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref-1" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Top-level script AST type"><meta name="keywords" content="rust, rustlang, rust-lang, Miniscript"><title>bdk::descriptor::Miniscript - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Miniscript</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.ext">ext</a><a href="#structfield.node">node</a><a href="#structfield.ty">ty</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_inner">as_inner</a><a href="#method.branches">branches</a><a href="#method.encode">encode</a><a href="#method.from_ast">from_ast</a><a href="#method.from_str_insane">from_str_insane</a><a href="#method.get_leaf_pk">get_leaf_pk</a><a href="#method.get_leaf_pk_pkh">get_leaf_pk_pkh</a><a href="#method.get_leaf_pkh">get_leaf_pkh</a><a href="#method.get_nth_child">get_nth_child</a><a href="#method.get_nth_pk">get_nth_pk</a><a href="#method.get_nth_pk_pkh">get_nth_pk_pkh</a><a href="#method.get_nth_pkh">get_nth_pkh</a><a href="#method.has_mixed_timelocks">has_mixed_timelocks</a><a href="#method.has_repeated_keys">has_repeated_keys</a><a href="#method.into_inner">into_inner</a><a href="#method.is_non_malleable">is_non_malleable</a><a href="#method.iter">iter</a><a href="#method.iter_pk">iter_pk</a><a href="#method.iter_pk_pkh">iter_pk_pkh</a><a href="#method.iter_pkh">iter_pkh</a><a href="#method.lift_check">lift_check</a><a href="#method.max_satisfaction_size">max_satisfaction_size</a><a href="#method.max_satisfaction_witness_elements">max_satisfaction_witness_elements</a><a href="#method.parse">parse</a><a href="#method.parse_insane">parse_insane</a><a href="#method.requires_sig">requires_sig</a><a href="#method.sanity_check">sanity_check</a><a href="#method.satisfy">satisfy</a><a href="#method.satisfy_malleable">satisfy_malleable</a><a href="#method.script_size">script_size</a><a href="#method.within_resource_limits">within_resource_limits</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ExtractPolicy">ExtractPolicy</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-FromStr">FromStr</a><a href="#impl-FromTree">FromTree</a><a href="#impl-Hash">Hash</a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CMiniscript%3CPk%2C%20Ctx%3E%3E">PartialEq<Miniscript<Pk, Ctx>></a><a href="#impl-PartialOrd%3CMiniscript%3CPk%2C%20Ctx%3E%3E">PartialOrd<Miniscript<Pk, Ctx>></a><a href="#impl-TranslatePk%3CPk%2C%20Q%3E">TranslatePk<Pk, Q></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TranslatePk1%3CP%2C%20Q%3E">TranslatePk1<P, Q></a><a href="#impl-TranslatePk2%3CP%2C%20Q%3E">TranslatePk2<P, Q></a><a href="#impl-TranslatePk3%3CP%2C%20Q%3E">TranslatePk3<P, Q></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Miniscript" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="struct" href="">Miniscript</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Miniscript<Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Miniscript</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.ext">ext</a><a href="#structfield.node">node</a><a href="#structfield.ty">ty</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_inner">as_inner</a><a href="#method.branches">branches</a><a href="#method.encode">encode</a><a href="#method.from_ast">from_ast</a><a href="#method.from_str_insane">from_str_insane</a><a href="#method.get_leaf_pk">get_leaf_pk</a><a href="#method.get_leaf_pk_pkh">get_leaf_pk_pkh</a><a href="#method.get_leaf_pkh">get_leaf_pkh</a><a href="#method.get_nth_child">get_nth_child</a><a href="#method.get_nth_pk">get_nth_pk</a><a href="#method.get_nth_pk_pkh">get_nth_pk_pkh</a><a href="#method.get_nth_pkh">get_nth_pkh</a><a href="#method.has_mixed_timelocks">has_mixed_timelocks</a><a href="#method.has_repeated_keys">has_repeated_keys</a><a href="#method.into_inner">into_inner</a><a href="#method.is_non_malleable">is_non_malleable</a><a href="#method.iter">iter</a><a href="#method.iter_pk">iter_pk</a><a href="#method.iter_pk_pkh">iter_pk_pkh</a><a href="#method.iter_pkh">iter_pkh</a><a href="#method.lift_check">lift_check</a><a href="#method.max_satisfaction_size">max_satisfaction_size</a><a href="#method.max_satisfaction_witness_elements">max_satisfaction_witness_elements</a><a href="#method.parse">parse</a><a href="#method.parse_insane">parse_insane</a><a href="#method.requires_sig">requires_sig</a><a href="#method.sanity_check">sanity_check</a><a href="#method.satisfy">satisfy</a><a href="#method.satisfy_malleable">satisfy_malleable</a><a href="#method.script_size">script_size</a><a href="#method.within_resource_limits">within_resource_limits</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ExtractPolicy">ExtractPolicy</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-FromStr">FromStr</a><a href="#impl-FromTree">FromTree</a><a href="#impl-Hash">Hash</a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CMiniscript%3CPk%2C%20Ctx%3E%3E">PartialEq<Miniscript<Pk, Ctx>></a><a href="#impl-PartialOrd%3CMiniscript%3CPk%2C%20Ctx%3E%3E">PartialOrd<Miniscript<Pk, Ctx>></a><a href="#impl-TranslatePk%3CPk%2C%20Q%3E">TranslatePk<Pk, Q></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TranslatePk1%3CP%2C%20Q%3E">TranslatePk1<P, Q></a><a href="#impl-TranslatePk2%3CP%2C%20Q%3E">TranslatePk2<P, Q></a><a href="#impl-TranslatePk3%3CP%2C%20Q%3E">TranslatePk3<P, Q></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="Miniscript" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="struct" href="">Miniscript</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Miniscript<Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span> {
pub node: Terminal<Pk, Ctx>,
pub ty: Type,
pub ext: ExtData,
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.node" class="structfield small-section-header"><a href="#structfield.node" class="anchor field"></a><code>node: Terminal<Pk, Ctx></code></span><div class="docblock"><p>A node in the Abstract Syntax Tree(</p>
</div><span id="structfield.ty" class="structfield small-section-header"><a href="#structfield.ty" class="anchor field"></a><code>ty: Type</code></span><div class="docblock"><p>The correctness and malleability type information for the AST node</p>
</div><span id="structfield.ext" class="structfield small-section-header"><a href="#structfield.ext" class="anchor field"></a><code>ext: ExtData</code></span><div class="docblock"><p>Additional information helpful for extra analysis.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.requires_sig" class="method"><code>pub fn <a href="#method.requires_sig" class="fnname">requires_sig</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether all spend paths of miniscript require a signature</p>
-</div><h4 id="method.is_non_malleable" class="method"><code>pub fn <a href="#method.is_non_malleable" class="fnname">is_non_malleable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether the miniscript is malleable</p>
-</div><h4 id="method.within_resource_limits" class="method"><code>pub fn <a href="#method.within_resource_limits" class="fnname">within_resource_limits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether the miniscript can exceed the resource limits(Opcodes, Stack limit etc)</p>
-</div><h4 id="method.has_mixed_timelocks" class="method"><code>pub fn <a href="#method.has_mixed_timelocks" class="fnname">has_mixed_timelocks</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether the miniscript contains a combination of timelocks</p>
-</div><h4 id="method.has_repeated_keys" class="method"><code>pub fn <a href="#method.has_repeated_keys" class="fnname">has_repeated_keys</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether the miniscript has repeated Pk or Pkh</p>
-</div><h4 id="method.sanity_check" class="method"><code>pub fn <a href="#method.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, AnalysisError></code></h4><div class="docblock"><p>Check whether the underlying Miniscript is safe under the current context
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.requires_sig" class="method"><code>pub fn <a href="#method.requires_sig" class="fnname">requires_sig</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.requires_sig" class="anchor"></a></h4><div class="docblock"><p>Whether all spend paths of miniscript require a signature</p>
+</div><h4 id="method.is_non_malleable" class="method"><code>pub fn <a href="#method.is_non_malleable" class="fnname">is_non_malleable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_non_malleable" class="anchor"></a></h4><div class="docblock"><p>Whether the miniscript is malleable</p>
+</div><h4 id="method.within_resource_limits" class="method"><code>pub fn <a href="#method.within_resource_limits" class="fnname">within_resource_limits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.within_resource_limits" class="anchor"></a></h4><div class="docblock"><p>Whether the miniscript can exceed the resource limits(Opcodes, Stack limit etc)</p>
+</div><h4 id="method.has_mixed_timelocks" class="method"><code>pub fn <a href="#method.has_mixed_timelocks" class="fnname">has_mixed_timelocks</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.has_mixed_timelocks" class="anchor"></a></h4><div class="docblock"><p>Whether the miniscript contains a combination of timelocks</p>
+</div><h4 id="method.has_repeated_keys" class="method"><code>pub fn <a href="#method.has_repeated_keys" class="fnname">has_repeated_keys</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.has_repeated_keys" class="anchor"></a></h4><div class="docblock"><p>Whether the miniscript has repeated Pk or Pkh</p>
+</div><h4 id="method.sanity_check" class="method"><code>pub fn <a href="#method.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, AnalysisError></code><a href="#method.sanity_check" class="anchor"></a></h4><div class="docblock"><p>Check whether the underlying Miniscript is safe under the current context
Lifting these polices would create a semantic representation that does
not represent the underlying semantics when miniscript is spent.
Signing logic may not find satisfaction even if one exists.</p>
Most functions of the library like would still
work, but results cannot be relied upon</p>
</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-1" class="anchor"></a></h3><div class="docblock"><p>Iterator-related extensions for <a href="../../bdk/descriptor/struct.Miniscript.html" title="Miniscript">Miniscript</a></p>
-</div><div class="impl-items"><h4 id="method.iter" class="method"><code>pub fn <a href="#method.iter" class="fnname">iter</a>(&self) -> Iter<'_, Pk, Ctx></code></h4><div class="docblock"><p>Creates a new [Iter] iterator that will iterate over all <a href="../../bdk/descriptor/struct.Miniscript.html" title="Miniscript">Miniscript</a> items within
+</div><div class="impl-items"><h4 id="method.iter" class="method"><code>pub fn <a href="#method.iter" class="fnname">iter</a>(&self) -> Iter<'_, Pk, Ctx></code><a href="#method.iter" class="anchor"></a></h4><div class="docblock"><p>Creates a new [Iter] iterator that will iterate over all <a href="../../bdk/descriptor/struct.Miniscript.html" title="Miniscript">Miniscript</a> items within
AST by traversing its branches. For the specific algorithm please see
[Iter::next] function.</p>
-</div><h4 id="method.iter_pk" class="method"><code>pub fn <a href="#method.iter_pk" class="fnname">iter_pk</a>(&self) -> PkIter<'_, Pk, Ctx></code></h4><div class="docblock"><p>Creates a new [PkIter] iterator that will iterate over all plain public keys (and not
+</div><h4 id="method.iter_pk" class="method"><code>pub fn <a href="#method.iter_pk" class="fnname">iter_pk</a>(&self) -> PkIter<'_, Pk, Ctx></code><a href="#method.iter_pk" class="anchor"></a></h4><div class="docblock"><p>Creates a new [PkIter] iterator that will iterate over all plain public keys (and not
key hash values) present in <a href="../../bdk/descriptor/struct.Miniscript.html" title="Miniscript">Miniscript</a> items within AST by traversing all its branches.
For the specific algorithm please see [PkIter::next] function.</p>
-</div><h4 id="method.iter_pkh" class="method"><code>pub fn <a href="#method.iter_pkh" class="fnname">iter_pkh</a>(&self) -> PkhIter<'_, Pk, Ctx></code></h4><div class="docblock"><p>Creates a new [PkhIter] iterator that will iterate over all public keys hashes (and not
+</div><h4 id="method.iter_pkh" class="method"><code>pub fn <a href="#method.iter_pkh" class="fnname">iter_pkh</a>(&self) -> PkhIter<'_, Pk, Ctx></code><a href="#method.iter_pkh" class="anchor"></a></h4><div class="docblock"><p>Creates a new [PkhIter] iterator that will iterate over all public keys hashes (and not
plain public keys) present in Miniscript items within AST by traversing all its branches.
For the specific algorithm please see [PkhIter::next] function.</p>
-</div><h4 id="method.iter_pk_pkh" class="method"><code>pub fn <a href="#method.iter_pk_pkh" class="fnname">iter_pk_pkh</a>(&self) -> PkPkhIter<'_, Pk, Ctx></code></h4><div class="docblock"><p>Creates a new [PkPkhIter] iterator that will iterate over all plain public keys and
+</div><h4 id="method.iter_pk_pkh" class="method"><code>pub fn <a href="#method.iter_pk_pkh" class="fnname">iter_pk_pkh</a>(&self) -> PkPkhIter<'_, Pk, Ctx></code><a href="#method.iter_pk_pkh" class="anchor"></a></h4><div class="docblock"><p>Creates a new [PkPkhIter] iterator that will iterate over all plain public keys and
key hash values present in Miniscript items within AST by traversing all its branches.
For the specific algorithm please see [PkPkhIter::next] function.</p>
-</div><h4 id="method.branches" class="method"><code>pub fn <a href="#method.branches" class="fnname">branches</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class="docblock"><p>Enumerates all child nodes of the current AST node (<code>self</code>) and returns a <code>Vec</code> referencing
+</div><h4 id="method.branches" class="method"><code>pub fn <a href="#method.branches" class="fnname">branches</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.branches" class="anchor"></a></h4><div class="docblock"><p>Enumerates all child nodes of the current AST node (<code>self</code>) and returns a <code>Vec</code> referencing
them.</p>
-</div><h4 id="method.get_nth_child" class="method"><code>pub fn <a href="#method.get_nth_child" class="fnname">get_nth_child</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>></code></h4><div class="docblock"><p>Returns child node with given index, if any</p>
-</div><h4 id="method.get_leaf_pk" class="method"><code>pub fn <a href="#method.get_leaf_pk" class="fnname">get_leaf_pk</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class="docblock"><p>Returns <code>Vec</code> with cloned version of all public keys from the current miniscript item,
+</div><h4 id="method.get_nth_child" class="method"><code>pub fn <a href="#method.get_nth_child" class="fnname">get_nth_child</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>></code><a href="#method.get_nth_child" class="anchor"></a></h4><div class="docblock"><p>Returns child node with given index, if any</p>
+</div><h4 id="method.get_leaf_pk" class="method"><code>pub fn <a href="#method.get_leaf_pk" class="fnname">get_leaf_pk</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.get_leaf_pk" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Vec</code> with cloned version of all public keys from the current miniscript item,
if any. Otherwise returns an empty <code>Vec</code>.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.
To obtain a list of all public keys within AST use <a href="../../bdk/descriptor/struct.Miniscript.html#method.iter_pk" title="Miniscript::iter_pk()">Miniscript::iter_pk()</a> function, for example
<code>miniscript.iter_pubkeys().collect()</code>.</p>
-</div><h4 id="method.get_leaf_pkh" class="method"><code>pub fn <a href="#method.get_leaf_pkh" class="fnname">get_leaf_pkh</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<Pk as MiniscriptKey>::Hash, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class="docblock"><p>Returns <code>Vec</code> with hashes of all public keys from the current miniscript item, if any.
+</div><h4 id="method.get_leaf_pkh" class="method"><code>pub fn <a href="#method.get_leaf_pkh" class="fnname">get_leaf_pkh</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<Pk as MiniscriptKey>::Hash, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.get_leaf_pkh" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Vec</code> with hashes of all public keys from the current miniscript item, if any.
Otherwise returns an empty <code>Vec</code>.</p>
<p>For each public key the function computes hash; for each hash of the public key the function
returns its cloned copy.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.
To obtain a list of all public key hashes within AST use <a href="../../bdk/descriptor/struct.Miniscript.html#method.iter_pkh" title="Miniscript::iter_pkh()">Miniscript::iter_pkh()</a> function,
for example <code>miniscript.iter_pubkey_hashes().collect()</code>.</p>
-</div><h4 id="method.get_leaf_pk_pkh" class="method"><code>pub fn <a href="#method.get_leaf_pk_pkh" class="fnname">get_leaf_pk_pkh</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><PkPkh<Pk>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class="docblock"><p>Returns <code>Vec</code> of [PkPkh] entries, representing either public keys or public key
+</div><h4 id="method.get_leaf_pk_pkh" class="method"><code>pub fn <a href="#method.get_leaf_pk_pkh" class="fnname">get_leaf_pk_pkh</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><PkPkh<Pk>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.get_leaf_pk_pkh" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Vec</code> of [PkPkh] entries, representing either public keys or public key
hashes, depending on the data from the current miniscript item. If there is no public
keys or hashes, the function returns an empty <code>Vec</code>.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.
To obtain a list of all public keys or hashes within AST use <a href="../../bdk/descriptor/struct.Miniscript.html#method.iter_pk_pkh" title="Miniscript::iter_pk_pkh()">Miniscript::iter_pk_pkh()</a>
function, for example <code>miniscript.iter_pubkeys_and_hashes().collect()</code>.</p>
-</div><h4 id="method.get_nth_pk" class="method"><code>pub fn <a href="#method.get_nth_pk" class="fnname">get_nth_pk</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pk></code></h4><div class="docblock"><p>Returns <code>Option::Some</code> with cloned n’th public key from the current miniscript item,
+</div><h4 id="method.get_nth_pk" class="method"><code>pub fn <a href="#method.get_nth_pk" class="fnname">get_nth_pk</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Pk></code><a href="#method.get_nth_pk" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Option::Some</code> with cloned n’th public key from the current miniscript item,
if any. Otherwise returns <code>Option::None</code>.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.</p>
-</div><h4 id="method.get_nth_pkh" class="method"><code>pub fn <a href="#method.get_nth_pkh" class="fnname">get_nth_pkh</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<Pk as MiniscriptKey>::Hash></code></h4><div class="docblock"><p>Returns <code>Option::Some</code> with hash of n’th public key from the current miniscript item,
+</div><h4 id="method.get_nth_pkh" class="method"><code>pub fn <a href="#method.get_nth_pkh" class="fnname">get_nth_pkh</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<Pk as MiniscriptKey>::Hash></code><a href="#method.get_nth_pkh" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Option::Some</code> with hash of n’th public key from the current miniscript item,
if any. Otherwise returns <code>Option::None</code>.</p>
<p>For each public key the function computes hash; for each hash of the public key the function
returns it cloned copy.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.</p>
-</div><h4 id="method.get_nth_pk_pkh" class="method"><code>pub fn <a href="#method.get_nth_pk_pkh" class="fnname">get_nth_pk_pkh</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><PkPkh<Pk>></code></h4><div class="docblock"><p>Returns <code>Option::Some</code> with hash of n’th public key or hash from the current miniscript item,
+</div><h4 id="method.get_nth_pk_pkh" class="method"><code>pub fn <a href="#method.get_nth_pk_pkh" class="fnname">get_nth_pk_pkh</a>(&self, n: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><PkPkh<Pk>></code><a href="#method.get_nth_pk_pkh" class="anchor"></a></h4><div class="docblock"><p>Returns <code>Option::Some</code> with hash of n’th public key or hash from the current miniscript item,
if any. Otherwise returns <code>Option::None</code>.</p>
<p>NB: The function analyzes only single miniscript item and not any of its descendants in AST.</p>
-</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-2" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_ast" class="method"><code>pub fn <a href="#method.from_ast" class="fnname">from_ast</a>(t: Terminal<Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code></h4><div class="docblock"><p>Add type information(Type and Extdata) to Miniscript based on
+</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-2" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_ast" class="method"><code>pub fn <a href="#method.from_ast" class="fnname">from_ast</a>(t: Terminal<Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code><a href="#method.from_ast" class="anchor"></a></h4><div class="docblock"><p>Add type information(Type and Extdata) to Miniscript based on
<code>AstElem</code> fragment. Dependent on display and clone because of Error
Display code of type_check.</p>
-</div></div><h3 id="impl-3" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-3" class="anchor"></a></h3><div class="impl-items"><h4 id="method.into_inner" class="method"><code>pub fn <a href="#method.into_inner" class="fnname">into_inner</a>(self) -> Terminal<Pk, Ctx></code></h4><div class="docblock"><p>Extracts the <code>AstElem</code> representing the root of the miniscript</p>
-</div><h4 id="method.as_inner" class="method"><code>pub fn <a href="#method.as_inner" class="fnname">as_inner</a>(&self) -> &Terminal<Pk, Ctx></code></h4><div class="docblock"><p>Get a reference to the inner <code>AstElem</code> representing the root of miniscript</p>
-</div></div><h3 id="impl-4" class="impl"><code class="in-band">impl<Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-4" class="anchor"></a></h3><div class="impl-items"><h4 id="method.parse_insane" class="method"><code>pub fn <a href="#method.parse_insane" class="fnname">parse_insane</a>(<br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx>, Error></code></h4><div class="docblock"><p>Attempt to parse an insane(scripts don’t clear sanity checks)
+</div></div><h3 id="impl-3" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-3" class="anchor"></a></h3><div class="impl-items"><h4 id="method.into_inner" class="method"><code>pub fn <a href="#method.into_inner" class="fnname">into_inner</a>(self) -> Terminal<Pk, Ctx></code><a href="#method.into_inner" class="anchor"></a></h4><div class="docblock"><p>Extracts the <code>AstElem</code> representing the root of the miniscript</p>
+</div><h4 id="method.as_inner" class="method"><code>pub fn <a href="#method.as_inner" class="fnname">as_inner</a>(&self) -> &Terminal<Pk, Ctx></code><a href="#method.as_inner" class="anchor"></a></h4><div class="docblock"><p>Get a reference to the inner <code>AstElem</code> representing the root of miniscript</p>
+</div></div><h3 id="impl-4" class="impl"><code class="in-band">impl<Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, </span></code><a href="#impl-4" class="anchor"></a></h3><div class="impl-items"><h4 id="method.parse_insane" class="method"><code>pub fn <a href="#method.parse_insane" class="fnname">parse_insane</a>(<br> script: &Script<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx>, Error></code><a href="#method.parse_insane" class="anchor"></a></h4><div class="docblock"><p>Attempt to parse an insane(scripts don’t clear sanity checks)
script into a Miniscript representation.
Use this to parse scripts with repeated pubkeys, timelock mixing, malleable
scripts without sig or scripts that can exceed resource limits.
Some of the analysis guarantees of miniscript are lost when dealing with
insane scripts. In general, in a multi-party setting users should only
accept sane scripts.</p>
-</div><h4 id="method.parse" class="method"><code>pub fn <a href="#method.parse" class="fnname">parse</a>(script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx>, Error></code></h4><div class="docblock"><p>Attempt to parse a Script into Miniscript representation.
+</div><h4 id="method.parse" class="method"><code>pub fn <a href="#method.parse" class="fnname">parse</a>(script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><PublicKey, Ctx>, Error></code><a href="#method.parse" class="anchor"></a></h4><div class="docblock"><p>Attempt to parse a Script into Miniscript representation.
This function will fail parsing for scripts that do not clear
the <a href="../../bdk/descriptor/struct.Miniscript.html#method.sanity_check" title="Miniscript::sanity_check">Miniscript::sanity_check</a> checks. Use <a href="../../bdk/descriptor/struct.Miniscript.html#method.parse_insane" title="Miniscript::parse_insane">Miniscript::parse_insane</a> to
parse such scripts.</p>
-</div></div><h3 id="impl-5" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-5" class="anchor"></a></h3><div class="impl-items"><h4 id="method.encode" class="method"><code>pub fn <a href="#method.encode" class="fnname">encode</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Encode as a Bitcoin script</p>
-</div><h4 id="method.script_size" class="method"><code>pub fn <a href="#method.script_size" class="fnname">script_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Size, in bytes of the script-pubkey. If this Miniscript is used outside
+</div></div><h3 id="impl-5" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-5" class="anchor"></a></h3><div class="impl-items"><h4 id="method.encode" class="method"><code>pub fn <a href="#method.encode" class="fnname">encode</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.encode" class="anchor"></a></h4><div class="docblock"><p>Encode as a Bitcoin script</p>
+</div><h4 id="method.script_size" class="method"><code>pub fn <a href="#method.script_size" class="fnname">script_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.script_size" class="anchor"></a></h4><div class="docblock"><p>Size, in bytes of the script-pubkey. If this Miniscript is used outside
of segwit (e.g. in a bare or P2SH descriptor), this quantity should be
multiplied by 4 to compute the weight.</p>
<p>In general, it is not recommended to use this function directly, but
to instead call the corresponding function on a <code>Descriptor</code>, which
will handle the segwit/non-segwit technicalities for you.</p>
-</div></div><h3 id="impl-6" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-6" class="anchor"></a></h3><div class="impl-items"><h4 id="method.max_satisfaction_witness_elements" class="method"><code>pub fn <a href="#method.max_satisfaction_witness_elements" class="fnname">max_satisfaction_witness_elements</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code></h4><div class="docblock"><p>Maximum number of witness elements used to satisfy the Miniscript
+</div></div><h3 id="impl-6" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-6" class="anchor"></a></h3><div class="impl-items"><h4 id="method.max_satisfaction_witness_elements" class="method"><code>pub fn <a href="#method.max_satisfaction_witness_elements" class="fnname">max_satisfaction_witness_elements</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code><a href="#method.max_satisfaction_witness_elements" class="anchor"></a></h4><div class="docblock"><p>Maximum number of witness elements used to satisfy the Miniscript
fragment, including the witness script itself. Used to estimate
the weight of the <code>VarInt</code> that specifies this number in a serialized
transaction.</p>
<p>This function may returns Error when the Miniscript is
impossible to satisfy</p>
-</div><h4 id="method.max_satisfaction_size" class="method"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code></h4><div class="docblock"><p>Maximum size, in bytes, of a satisfying witness. For Segwit outputs
+</div><h4 id="method.max_satisfaction_size" class="method"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, Error></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4><div class="docblock"><p>Maximum size, in bytes, of a satisfying witness. For Segwit outputs
<code>one_cost</code> should be set to 2, since the number <code>1</code> requires two
bytes to encode. For non-segwit outputs <code>one_cost</code> should be set to
1, since <code>OP_1</code> is available in scriptSigs.</p>
<p>All signatures are assumed to be 73 bytes in size, including the
length prefix (segwit) or push opcode (pre-segwit) and sighash
postfix.</p>
-</div></div><h3 id="impl-7" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-7" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_str_insane" class="method"><code>pub fn <a href="#method.from_str_insane" class="fnname">from_str_insane</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code></h4><div class="docblock"><p>Attempt to parse an insane(scripts don’t clear sanity checks)
+</div></div><h3 id="impl-7" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-7" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_str_insane" class="method"><code>pub fn <a href="#method.from_str_insane" class="fnname">from_str_insane</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#method.from_str_insane" class="anchor"></a></h4><div class="docblock"><p>Attempt to parse an insane(scripts don’t clear sanity checks)
from string into a Miniscript representation.
Use this to parse scripts with repeated pubkeys, timelock mixing, malleable
scripts without sig or scripts that can exceed resource limits.
Some of the analysis guarantees of miniscript are lost when dealing with
insane scripts. In general, in a multi-party setting users should only
accept sane scripts.</p>
-</div></div><h3 id="impl-8" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-8" class="anchor"></a></h3><div class="impl-items"><h4 id="method.satisfy" class="method"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code></h4><div class="docblock"><p>Attempt to produce non-malleable satisfying witness for the
+</div></div><h3 id="impl-8" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-8" class="anchor"></a></h3><div class="impl-items"><h4 id="method.satisfy" class="method"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code><a href="#method.satisfy" class="anchor"></a></h4><div class="docblock"><p>Attempt to produce non-malleable satisfying witness for the
witness script represented by the parse tree</p>
-</div><h4 id="method.satisfy_malleable" class="method"><code>pub fn <a href="#method.satisfy_malleable" class="fnname">satisfy_malleable</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code></h4><div class="docblock"><p>Attempt to produce a malleable satisfying witness for the
+</div><h4 id="method.satisfy_malleable" class="method"><code>pub fn <a href="#method.satisfy_malleable" class="fnname">satisfy_malleable</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code><a href="#method.satisfy_malleable" class="anchor"></a></h4><div class="docblock"><p>Attempt to produce a malleable satisfying witness for the
witness script represented by the parse tree</p>
-</div></div><h3 id="impl-9" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-9" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift_check" class="method"><code>pub fn <a href="#method.lift_check" class="fnname">lift_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, LiftError></code></h4><div class="docblock"><p>Lifting corresponds conversion of miniscript into Policy
+</div></div><h3 id="impl-9" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-9" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift_check" class="method"><code>pub fn <a href="#method.lift_check" class="fnname">lift_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, LiftError></code><a href="#method.lift_check" class="anchor"></a></h4><div class="docblock"><p>Lifting corresponds conversion of miniscript into Policy
[policy.semantic.Policy] for human readable or machine analysis.
However, naively lifting miniscripts can result in incorrect
interpretations that don’t correspond underlying semantics when
<li>Timelock combination</li>
<li>Contains a spend that exceeds resource limits</li>
</ol>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Eq" class="anchor"></a></h3><div class="docblock"><p><code>Eq</code> of <code>Miniscript</code> must depend only on node and not the type information.
The type information and extra_properties can be deterministically determined
by the ast.</p>
-</div><div class="impl-items"></div><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, Ctx></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#795-887" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden"><code>fn <a href="../../bdk/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#796-886" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
-</div></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> ForEachKey<Pk> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden"><code>pub fn <a href="#method.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div><div class="impl-items"></div><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, Ctx></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#795-887" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden trait-impl"><code>fn <a href="../../bdk/descriptor/trait.ExtractPolicy.html#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.extract_policy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#796-886" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
+</div></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> ForEachKey<Pk> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_each_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for every key <a href="#tymethod.for_each_key">Read more</a></p>
-</div><h4 id="method.for_any_key" class="method hidden"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div><h4 id="method.for_any_key" class="method hidden trait-impl"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_any_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for any key <a href="#method.for_any_key">Read more</a></p>
</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="docblock"><p>Parse a Miniscript from string and perform sanity checks
See <a href="../../bdk/descriptor/struct.Miniscript.html#method.from_str_insane" title="Miniscript::from_str_insane">Miniscript::from_str_insane</a> to parse scripts from string that
do not clear the <a href="../../bdk/descriptor/struct.Miniscript.html#method.sanity_check" title="Miniscript::sanity_check">Miniscript::sanity_check</a> checks.</p>
-</div><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = Error</code></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
-</div><h4 id="method.from_str" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
-</div></div><h3 id="impl-FromTree" class="impl"><code class="in-band">impl<Pk, Ctx> FromTree for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromTree" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_tree" class="method"><code>pub fn <a href="#method.from_tree" class="fnname">from_tree</a>(top: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code></h4><div class="docblock"><p>Parse an expression tree into a Miniscript. As a general rule, this
+</div><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = Error</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
+</div><h4 id="method.from_str" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code><a href="#method.from_str" class="anchor"></a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
+</div></div><h3 id="impl-FromTree" class="impl"><code class="in-band">impl<Pk, Ctx> FromTree for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey + <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>,<br> <<Pk as MiniscriptKey>::Hash as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#impl-FromTree" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_tree" class="method trait-impl"><code>pub fn <a href="#tymethod.from_tree" class="fnname">from_tree</a>(top: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>, Error></code><a href="#method.from_tree" class="anchor"></a></h4><div class="docblock"><p>Parse an expression tree into a Miniscript. As a general rule, this
should not be called directly; rather go through the descriptor API.</p>
-</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + MiniscriptKey, </span></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> Liftable<Pk> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden"><code>pub fn <a href="#method.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
+</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + MiniscriptKey, </span></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><a href="#method.hash" class="anchor"></a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> Liftable<Pk> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code><a href="#method.lift" class="anchor"></a></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Ord" class="anchor"></a></h3><div class="docblock"><p><code>Ord</code> of <code>Miniscript</code> must depend only on node and not the type information.
The type information and extra_properties can be deterministically determined
by the ast.</p>
-</div><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
</div></div><h3 id="impl-PartialEq%3CMiniscript%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-PartialEq%3CMiniscript%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="docblock"><p><code>PartialEq</code> of <code>Miniscript</code> must depend only on node and not the type information.
The type information and extra_properties can be deterministically determined
by the ast.</p>
-</div><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id="impl-PartialOrd%3CMiniscript%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-PartialOrd%3CMiniscript%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="docblock"><p><code>PartialOrd</code> of <code>Miniscript</code> must depend only on node and not the type information.
The type information and extra_properties can be deterministically determined
by the ast.</p>
-</div><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk%3CPk%2C%20Q%3E" class="impl"><code class="in-band">impl<Pk, Q, Ctx> TranslatePk<Pk, Q> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-TranslatePk%3CPk%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Q, Ctx></code></h4><div class='docblock'><p>The associated output type. This must be Self<Q></p>
-</div><h4 id="method.translate_pk" class="method"><code>pub fn <a href="#method.translate_pk" class="fnname">translate_pk</a><FPk, FPkh, FuncError>(<br> &self, <br> translatefpk: FPk, <br> translatefpkh: FPkh<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> as TranslatePk<Pk, Q>>::Output, FuncError> <span class="where fmt-newline">where<br> FPk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, FuncError>,<br> FPkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<Pk as MiniscriptKey>::Hash) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<Q as MiniscriptKey>::Hash, FuncError>, </span></code></h4><div class="docblock"><p>This will panic if translatefpk returns an uncompressed key when
+</div></div><h3 id="impl-TranslatePk%3CPk%2C%20Q%3E" class="impl"><code class="in-band">impl<Pk, Q, Ctx> TranslatePk<Pk, Q> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-TranslatePk%3CPk%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Q, Ctx></code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>The associated output type. This must be Self<Q></p>
+</div><h4 id="method.translate_pk" class="method trait-impl"><code>pub fn <a href="#tymethod.translate_pk" class="fnname">translate_pk</a><FPk, FPkh, FuncError>(<br> &self, <br> translatefpk: FPk, <br> translatefpkh: FPkh<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> as TranslatePk<Pk, Q>>::Output, FuncError> <span class="where fmt-newline">where<br> FPk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, FuncError>,<br> FPkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<Pk as MiniscriptKey>::Hash) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<Q as MiniscriptKey>::Hash, FuncError>, </span></code><a href="#method.translate_pk" class="anchor"></a></h4><div class="docblock"><p>This will panic if translatefpk returns an uncompressed key when
converting to a Segwit descriptor. To prevent this panic, ensure
translatefpk returns an error in this case instead.</p>
-</div><h4 id="method.translate_pk_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk_infallible" class="fnname">translate_pk_infallible</a><Fpk, Fpkh>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <Q as MiniscriptKey>::Hash, </span></code></h4><div class='docblock hidden'><p>Calls <code>translate_pk</code> with conversion functions that cannot fail</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.translate_pk_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk_infallible" class="fnname">translate_pk_infallible</a><Fpk, Fpkh>(<br> &self, <br> translatefpk: Fpk, <br> translatefpkh: Fpkh<br>) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q,<br> Fpkh: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&<P as MiniscriptKey>::Hash) -> <Q as MiniscriptKey>::Hash, </span></code><a href="#method.translate_pk_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Calls <code>translate_pk</code> with conversion functions that cannot fail</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> <Pk as MiniscriptKey>::Hash: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output-1" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output-1" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output-1" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk1%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk1<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = <P as MiniscriptKey>::Hash>, </span></code><a href="#impl-TranslatePk1%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk1" class="method hidden"><code>pub fn <a href="#method.translate_pk1" class="fnname">translate_pk1</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TranslatePk1%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk1<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = <P as MiniscriptKey>::Hash>, </span></code><a href="#impl-TranslatePk1%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk1" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk1" class="fnname">translate_pk1</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk1" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk1">Read more</a></p>
-</div><h4 id="method.translate_pk1_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk1_infallible" class="fnname">translate_pk1_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk1_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk1_infallible" class="fnname">translate_pk1_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk1_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk1_infallible">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk2%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk2<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey<Hash = P>,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk2%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk2" class="method hidden"><code>pub fn <a href="#method.translate_pk2" class="fnname">translate_pk2</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-TranslatePk2%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk2<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey<Hash = P>,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey, </span></code><a href="#impl-TranslatePk2%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk2" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk2" class="fnname">translate_pk2</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk2" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk2">Read more</a></p>
-</div><h4 id="method.translate_pk2_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk2_infallible" class="fnname">translate_pk2_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk2_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk2_infallible" class="fnname">translate_pk2_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.Fn.html" title="trait core::ops::function::Fn">Fn</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk2_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk2_infallible">Read more</a></p>
-</div></div><h3 id="impl-TranslatePk3%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk3<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey + ToPublicKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = Hash>, </span></code><a href="#impl-TranslatePk3%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk3" class="method hidden"><code>pub fn <a href="#method.translate_pk3" class="fnname">translate_pk3</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div></div><h3 id="impl-TranslatePk3%3CP%2C%20Q%3E" class="impl"><code class="in-band">impl<P, Q, T> TranslatePk3<P, Q> for T <span class="where fmt-newline">where<br> P: MiniscriptKey + ToPublicKey,<br> T: TranslatePk<P, Q>,<br> Q: MiniscriptKey<Hash = Hash>, </span></code><a href="#impl-TranslatePk3%3CP%2C%20Q%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.translate_pk3" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk3" class="fnname">translate_pk3</a><Fpk, E>(<br> &self, <br> translatefpk: Fpk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self::Output, E> <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, E>, </span></code><a href="#method.translate_pk3" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk3">Read more</a></p>
-</div><h4 id="method.translate_pk3_infallible" class="method hidden"><code>pub fn <a href="#method.translate_pk3_infallible" class="fnname">translate_pk3_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
+</div><h4 id="method.translate_pk3_infallible" class="method hidden trait-impl"><code>pub fn <a href="#method.translate_pk3_infallible" class="fnname">translate_pk3_infallible</a><Fpk>(&self, translatefpk: Fpk) -> Self::Output <span class="where fmt-newline">where<br> Fpk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>P) -> Q, </span></code><a href="#method.translate_pk3_infallible" class="anchor"></a></h4><div class='docblock hidden'><p>Translate a struct from one generic to another where the
translation for Pk is provided by translatefpk <a href="#method.translate_pk3_infallible">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Descriptor templates"><meta name="keywords" content="rust, rustlang, rust-lang, template"><title>bdk::descriptor::template - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module template</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="template" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">template</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#12-725" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor templates</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module template</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a></p><div id="sidebar-vars" data-name="template" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a class="mod" href="">template</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#12-725" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Descriptor templates</p>
<p>This module contains the definition of various common script templates that are ready to be
used. See the documentation of each template for an example.</p>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!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="BIP44 template. Expands to `pkh(key/44'/0'/0'/{0,1}/*)`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip44"><title>bdk::descriptor::template::Bip44 - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip44</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip44" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip44</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#200" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip44<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP44 template. Expands to <code>pkh(key/44'/0'/0'/{0,1}/*)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip44</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip44" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip44</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#200" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip44<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP44 template. Expands to <code>pkh(key/44'/0'/0'/{0,1}/*)</code></p>
<p>Since there are hardened derivation steps, this template requires a private derivable key (generally a <code>xprv</code>/<code>tprv</code>).</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="Bip44Public"><code>Bip44Public</code></a> for a template that can work with a <code>xpub</code>/<code>tpub</code>.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip44</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip44</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip44</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip44</span>(<span class="ident">key</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip44</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip44</span>(<span class="ident">key</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"miNG7dJTzJqNbFS19svRdTCisC65dsubtR"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"pkh([c55b303f/44'/0'/0']tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU/0/*)#xgaaevjx"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#202-206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#203-205" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"miNG7dJTzJqNbFS19svRdTCisC65dsubtR"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"pkh([c55b303f/44'/0'/0']tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU/0/*)#xgaaevjx"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#202-206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#203-205" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP44 public template. Expands to `pkh(key/{0,1}/*)`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip44Public"><title>bdk::descriptor::template::Bip44Public - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip44Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip44Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip44Public</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#240" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip44Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP44 public template. Expands to <code>pkh(key/{0,1}/*)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip44Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip44Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip44Public</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#240" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip44Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP44 public template. Expands to <code>pkh(key/{0,1}/*)</code></p>
<p>This assumes that the key used has already been derived with <code>m/44'/0'/0'</code>.</p>
<p>This template requires the parent fingerprint to populate correctly the metadata of PSBTs.</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip44.html" title="Bip44"><code>Bip44</code></a> for a template that does the full derivation, but requires private data
for the key.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip44Public</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip44Public</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip44Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip44Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip44Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip44Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"miNG7dJTzJqNbFS19svRdTCisC65dsubtR"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"pkh([c55b303f/44'/0'/0']tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU/0/*)#xgaaevjx"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#242-246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#243-245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"miNG7dJTzJqNbFS19svRdTCisC65dsubtR"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"pkh([c55b303f/44'/0'/0']tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU/0/*)#xgaaevjx"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#242-246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#243-245" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP49 template. Expands to `sh(wpkh(key/49'/0'/0'/{0,1}/*))`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip49"><title>bdk::descriptor::template::Bip49 - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip49</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip49" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip49</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#276" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip49<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP49 template. Expands to <code>sh(wpkh(key/49'/0'/0'/{0,1}/*))</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip49</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip49" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip49</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#276" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip49<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP49 template. Expands to <code>sh(wpkh(key/49'/0'/0'/{0,1}/*))</code></p>
<p>Since there are hardened derivation steps, this template requires a private derivable key (generally a <code>xprv</code>/<code>tprv</code>).</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="Bip49Public"><code>Bip49Public</code></a> for a template that can work with a <code>xpub</code>/<code>tpub</code>.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip49</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip49</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip49</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip49</span>(<span class="ident">key</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip49</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip49</span>(<span class="ident">key</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"2N3K4xbVAHoiTQSwxkZjWDfKoNC27pLkYnt"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"sh(wpkh([c55b303f/49\'/0\'/0\']tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L/0/*))#gsmdv4xr"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#278-282" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#279-281" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"2N3K4xbVAHoiTQSwxkZjWDfKoNC27pLkYnt"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"sh(wpkh([c55b303f/49\'/0\'/0\']tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L/0/*))#gsmdv4xr"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#278-282" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#279-281" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP49 public template. Expands to `sh(wpkh(key/{0,1}/*))`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip49Public"><title>bdk::descriptor::template::Bip49Public - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip49Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip49Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip49Public</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#316" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip49Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP49 public template. Expands to <code>sh(wpkh(key/{0,1}/*))</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip49Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip49Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip49Public</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#316" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip49Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP49 public template. Expands to <code>sh(wpkh(key/{0,1}/*))</code></p>
<p>This assumes that the key used has already been derived with <code>m/49'/0'/0'</code>.</p>
<p>This template requires the parent fingerprint to populate correctly the metadata of PSBTs.</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip49.html" title="Bip49"><code>Bip49</code></a> for a template that does the full derivation, but requires private data
for the key.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip49Public</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip49Public</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip49Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip49Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip49Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip49Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"2N3K4xbVAHoiTQSwxkZjWDfKoNC27pLkYnt"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"sh(wpkh([c55b303f/49\'/0\'/0\']tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L/0/*))#gsmdv4xr"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#318-322" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#319-321" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"2N3K4xbVAHoiTQSwxkZjWDfKoNC27pLkYnt"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"sh(wpkh([c55b303f/49\'/0\'/0\']tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L/0/*))#gsmdv4xr"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#318-322" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#319-321" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP84 template. Expands to `wpkh(key/84'/0'/0'/{0,1}/*)`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip84"><title>bdk::descriptor::template::Bip84 - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip84</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip84" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip84</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#352" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip84<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP84 template. Expands to <code>wpkh(key/84'/0'/0'/{0,1}/*)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip84</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip84" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip84</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#352" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip84<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP84 template. Expands to <code>wpkh(key/84'/0'/0'/{0,1}/*)</code></p>
<p>Since there are hardened derivation steps, this template requires a private derivable key (generally a <code>xprv</code>/<code>tprv</code>).</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="Bip84Public"><code>Bip84Public</code></a> for a template that can work with a <code>xpub</code>/<code>tpub</code>.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip84</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip84</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip84</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip84</span>(<span class="ident">key</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPeZRHk4rTG6orPS2CRNFX3njhUXx5vj9qGog5ZMH4uGReDWN5kCkY3jmWEtWause41CDvBRXD1shKknAMKxT99o9qUTRVC6m"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip84</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip84</span>(<span class="ident">key</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"tb1qedg9fdlf8cnnqfd5mks6uz5w4kgpk2pr6y4qc7"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"wpkh([c55b303f/84\'/0\'/0\']tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q/0/*)#nkk5dtkg"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#354-358" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#355-357" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"tb1qedg9fdlf8cnnqfd5mks6uz5w4kgpk2pr6y4qc7"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"wpkh([c55b303f/84\'/0\'/0\']tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q/0/*)#nkk5dtkg"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#354-358" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#355-357" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP84 public template. Expands to `wpkh(key/{0,1}/*)`"><meta name="keywords" content="rust, rustlang, rust-lang, Bip84Public"><title>bdk::descriptor::template::Bip84Public - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip84Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip84Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip84Public</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#392" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip84Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP84 public template. Expands to <code>wpkh(key/{0,1}/*)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Bip84Public</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="Bip84Public" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">Bip84Public</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#392" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Bip84Public<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K, pub Fingerprint, pub <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>);</pre></div><div class="docblock"><p>BIP84 public template. Expands to <code>wpkh(key/{0,1}/*)</code></p>
<p>This assumes that the key used has already been derived with <code>m/84'/0'/0'</code>.</p>
<p>This template requires the parent fingerprint to populate correctly the metadata of PSBTs.</p>
<p>See <a href="../../../bdk/descriptor/template/struct.Bip84.html" title="Bip84"><code>Bip84</code></a> for a template that does the full derivation, but requires private data
for the key.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">Bip84Public</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::Bip84Public</span>;
-<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
- <span class="ident">Bip84Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
- <span class="prelude-val">Some</span>(<span class="ident">Bip84Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
+ <span class="ident">Bip84Public</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">Bip84Public</span>(<span class="ident">key</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>)),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"tb1qedg9fdlf8cnnqfd5mks6uz5w4kgpk2pr6y4qc7"</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"wpkh([c55b303f/84\'/0\'/0\']tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q/0/*)#nkk5dtkg"</span>);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#394-398" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#395-397" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(), <span class="string">"tb1qedg9fdlf8cnnqfd5mks6uz5w4kgpk2pr6y4qc7"</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">wallet</span>.<span class="ident">public_descriptor</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"wpkh([c55b303f/84\'/0\'/0\']tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q/0/*)#nkk5dtkg"</span>);</pre></div>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#394-398" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#395-397" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="P2PKH template. Expands to a descriptor `pkh(key)`"><meta name="keywords" content="rust, rustlang, rust-lang, P2Pkh"><title>bdk::descriptor::template::P2Pkh - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Pkh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Pkh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Pkh</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Pkh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K);</pre></div><div class="docblock"><p>P2PKH template. Expands to a descriptor <code>pkh(key)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Pkh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Pkh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Pkh</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Pkh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>>(pub K);</pre></div><div class="docblock"><p>P2PKH template. Expands to a descriptor <code>pkh(key)</code></p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">P2Pkh</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::P2Pkh</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">P2Pkh</span>(<span class="ident">key</span>),
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(
+<span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(),
<span class="string">"mwJ8hxFYW19JLuc65RCTaP4v1rzVU8cVMT"</span>
);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#97-101" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#98-100" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#97-101" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#98-100" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="P2WPKH template. Expands to a descriptor `wpkh(key)`"><meta name="keywords" content="rust, rustlang, rust-lang, P2Wpkh"><title>bdk::descriptor::template::P2Wpkh - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Wpkh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Wpkh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Wpkh</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#164" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Wpkh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K);</pre></div><div class="docblock"><p>P2WPKH template. Expands to a descriptor <code>wpkh(key)</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Wpkh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Wpkh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Wpkh</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#164" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Wpkh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K);</pre></div><div class="docblock"><p>P2WPKH template. Expands to a descriptor <code>wpkh(key)</code></p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">P2Wpkh</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::P2Wpkh</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">P2Wpkh</span>(<span class="ident">key</span>),
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(
+<span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(),
<span class="string">"tb1q4525hmgw265tl3drrl8jjta7ayffu6jf68ltjd"</span>
);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#166-170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#167-169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#166-170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#167-169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="P2WPKH-P2SH template. Expands to a descriptor `sh(wpkh(key))`"><meta name="keywords" content="rust, rustlang, rust-lang, P2Wpkh_P2Sh"><title>bdk::descriptor::template::P2Wpkh_P2Sh - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Wpkh_P2Sh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Wpkh_P2Sh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Wpkh_P2Sh</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#130" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Wpkh_P2Sh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K);</pre></div><div class="docblock"><p>P2WPKH-P2SH template. Expands to a descriptor <code>sh(wpkh(key))</code></p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct P2Wpkh_P2Sh</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DescriptorTemplate">DescriptorTemplate</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="P2Wpkh_P2Sh" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="struct" href="">P2Wpkh_P2Sh</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#130" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct P2Wpkh_P2Sh<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>>(pub K);</pre></div><div class="docblock"><p>P2WPKH-P2SH template. Expands to a descriptor <code>sh(wpkh(key))</code></p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::<span class="ident">P2Wpkh_P2Sh</span>;
+<span class="kw">use</span> <span class="ident">bdk::template::P2Wpkh_P2Sh</span>;
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">key</span>),
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(
+<span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>.<span class="ident">to_string</span>(),
<span class="string">"2NB4ox5VDRw1ecUv6SnT3VQHPXveYztRqk5"</span>
);</pre></div>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#132-136" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#133-135" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#132-136" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#133-135" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Build the complete descriptor</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K> <span class="where fmt-newline">where<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl<T> <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>, </span></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>pub fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> Self, <br> &Secp256k1<All>, <br> Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for descriptor templates that can be built into a full descriptor"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorTemplate"><title>bdk::descriptor::template::DescriptorTemplate - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait DescriptorTemplate</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.build">build</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="DescriptorTemplate" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="trait" href="">DescriptorTemplate</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#52-55" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait DescriptorTemplate {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait DescriptorTemplate</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.build">build</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="DescriptorTemplate" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="trait" href="">DescriptorTemplate</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#52-55" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait DescriptorTemplate {
fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>>;
}</pre></div><div class="docblock"><p>Trait for descriptor templates that can be built into a full descriptor</p>
<p>Since <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="IntoWalletDescriptor"><code>IntoWalletDescriptor</code></a> is implemented for any <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="DescriptorTemplate"><code>DescriptorTemplate</code></a>, they can also be
passed directly to the <a href="../../../bdk/wallet/struct.Wallet.html"><code>Wallet</code></a> constructor.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">descriptor</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">as</span> <span class="ident">DescriptorError</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">KeyError</span>, <span class="ident">IntoDescriptorKey</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">miniscript</span>::<span class="ident">Legacy</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">template</span>::{<span class="ident">DescriptorTemplate</span>, <span class="ident">DescriptorTemplateOut</span>};
+<span class="kw">use</span> <span class="ident">bdk::descriptor::error::Error</span> <span class="kw">as</span> <span class="ident">DescriptorError</span>;
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">KeyError</span>, <span class="ident">IntoDescriptorKey</span>};
+<span class="kw">use</span> <span class="ident">bdk::miniscript::Legacy</span>;
+<span class="kw">use</span> <span class="ident">bdk::template</span>::{<span class="ident">DescriptorTemplate</span>, <span class="ident">DescriptorTemplateOut</span>};
<span class="kw">struct</span> <span class="ident">MyP2PKH</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span>(<span class="ident">K</span>);
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">MyP2PKH</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="self">self</span>.<span class="number">0</span>))<span class="question-mark">?</span>)
+ <span class="prelude-val">Ok</span>(<span class="macro">bdk::descriptor!</span>(<span class="ident">pkh</span>(<span class="self">self</span>.<span class="number">0</span>))<span class="question-mark">?</span>)
}
}</pre></div>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.build" class="method"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#54" title="goto source code">[src]</a></h3><div class="docblock"><p>Build the complete descriptor</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#202-206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden"><code>fn <a href="#method.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#203-205" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-1" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K></code><a href="#impl-DescriptorTemplate-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#242-246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-1" class="method hidden"><code>fn <a href="#method.build-1" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#243-245" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-2" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K></code><a href="#impl-DescriptorTemplate-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#278-282" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-2" class="method hidden"><code>fn <a href="#method.build-2" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#279-281" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-3" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K></code><a href="#impl-DescriptorTemplate-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#318-322" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-3" class="method hidden"><code>fn <a href="#method.build-3" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#319-321" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-4" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K></code><a href="#impl-DescriptorTemplate-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#354-358" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-4" class="method hidden"><code>fn <a href="#method.build-4" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#355-357" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-5" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K></code><a href="#impl-DescriptorTemplate-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#394-398" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-5" class="method hidden"><code>fn <a href="#method.build-5" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#395-397" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-6" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K></code><a href="#impl-DescriptorTemplate-6" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#97-101" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-6" class="method hidden"><code>fn <a href="#method.build-6" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#98-100" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-7" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K></code><a href="#impl-DescriptorTemplate-7" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#166-170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-7" class="method hidden"><code>fn <a href="#method.build-7" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#167-169" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-8" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K></code><a href="#impl-DescriptorTemplate-8" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#132-136" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-8" class="method hidden"><code>fn <a href="#method.build-8" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#133-135" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/descriptor/template/trait.DescriptorTemplate.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-DescriptorTemplate" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44.html" title="struct bdk::descriptor::template::Bip44">Bip44</a><K></code><a href="#impl-DescriptorTemplate" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#202-206" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#203-205" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-1" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip44Public.html" title="struct bdk::descriptor::template::Bip44Public">Bip44Public</a><K></code><a href="#impl-DescriptorTemplate-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#242-246" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#243-245" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-2" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49.html" title="struct bdk::descriptor::template::Bip49">Bip49</a><K></code><a href="#impl-DescriptorTemplate-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#278-282" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#279-281" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-3" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip49Public.html" title="struct bdk::descriptor::template::Bip49Public">Bip49Public</a><K></code><a href="#impl-DescriptorTemplate-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#318-322" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-3" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#319-321" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-4" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84.html" title="struct bdk::descriptor::template::Bip84">Bip84</a><K></code><a href="#impl-DescriptorTemplate-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#354-358" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-4" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#355-357" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-5" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.Bip84Public.html" title="struct bdk::descriptor::template::Bip84Public">Bip84Public</a><K></code><a href="#impl-DescriptorTemplate-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#394-398" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-5" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-5" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#395-397" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-6" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Pkh.html" title="struct bdk::descriptor::template::P2Pkh">P2Pkh</a><K></code><a href="#impl-DescriptorTemplate-6" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#97-101" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-6" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-6" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#98-100" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-7" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh.html" title="struct bdk::descriptor::template::P2Wpkh">P2Wpkh</a><K></code><a href="#impl-DescriptorTemplate-7" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#166-170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-7" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-7" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#167-169" title="goto source code">[src]</a></h4></div><h3 id="impl-DescriptorTemplate-8" class="impl"><code class="in-band">impl<K: <a class="trait" href="../../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><<a class="enum" href="../../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a>>> <a class="trait" href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a> for <a class="struct" href="../../../bdk/descriptor/template/struct.P2Wpkh_P2Sh.html" title="struct bdk::descriptor::template::P2Wpkh_P2Sh">P2Wpkh_P2Sh</a><K></code><a href="#impl-DescriptorTemplate-8" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#132-136" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.build-8" class="method hidden trait-impl"><code>fn <a href="#tymethod.build" class="fnname">build</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.build-8" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#133-135" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/descriptor/template/trait.DescriptorTemplate.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type alias for the return type of [`DescriptorTemplate`], `descriptor!` and others"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorTemplateOut"><title>bdk::descriptor::template::DescriptorTemplateOut - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DescriptorTemplateOut</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="DescriptorTemplateOut" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="type" href="">DescriptorTemplateOut</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#29" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DescriptorTemplateOut = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a>, <a class="type" href="../../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="docblock"><p>Type alias for the return type of <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="DescriptorTemplate"><code>DescriptorTemplate</code></a>, <a href="../../../bdk/macro.descriptor.html"><code>descriptor!</code></a> and others</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/mod.rs.html#150-186" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> _secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../../src/bdk/descriptor/mod.rs.html#151-185" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DescriptorTemplateOut</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a></p><div id="sidebar-vars" data-name="DescriptorTemplateOut" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">descriptor</a>::<wbr><a href="index.html">template</a>::<wbr><a class="type" href="">DescriptorTemplateOut</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/descriptor/template.rs.html#29" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DescriptorTemplateOut = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a>, <a class="type" href="../../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="docblock"><p>Type alias for the return type of <a href="../../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="DescriptorTemplate"><code>DescriptorTemplate</code></a>, <a href="../../../bdk/macro.descriptor.html"><code>descriptor!</code></a> and others</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/mod.rs.html#150-186" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>fn <a href="../../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> _secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/descriptor/mod.rs.html#151-185" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait implemented on [`Descriptor`]s to add a method to extract the spending [`policy`]"><meta name="keywords" content="rust, rustlang, rust-lang, ExtractPolicy"><title>bdk::descriptor::ExtractPolicy - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ExtractPolicy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.extract_policy">extract_policy</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ExtractPolicy" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">ExtractPolicy</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#253-260" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ExtractPolicy {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ExtractPolicy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.extract_policy">extract_policy</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ExtractPolicy" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">ExtractPolicy</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#253-260" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ExtractPolicy {
fn <a href="#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>>;
}</pre></div><div class="docblock"><p>Trait implemented on <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor"><code>Descriptor</code></a>s to add a method to extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.extract_policy" class="method"><code>fn <a href="#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#255-259" title="goto source code">[src]</a></h3><div class="docblock"><p>Extract the spending <a href="../../bdk/descriptor/policy/index.html" title="policy"><code>policy</code></a></p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#889-928" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden"><code>fn <a href="#method.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#890-927" title="goto source code">[src]</a></h4></div><h3 id="impl-ExtractPolicy-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, Ctx></code><a href="#impl-ExtractPolicy-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#795-887" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy-1" class="method hidden"><code>fn <a href="#method.extract_policy-1" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#796-886" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/descriptor/trait.ExtractPolicy.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ExtractPolicy" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>></code><a href="#impl-ExtractPolicy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#889-928" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy" class="method hidden trait-impl"><code>fn <a href="#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.extract_policy" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#890-927" title="goto source code">[src]</a></h4></div><h3 id="impl-ExtractPolicy-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/descriptor/trait.ExtractPolicy.html" title="trait bdk::descriptor::ExtractPolicy">ExtractPolicy</a> for <a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, Ctx></code><a href="#impl-ExtractPolicy-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#795-887" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.extract_policy-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.extract_policy" class="fnname">extract_policy</a>(<br> &self, <br> signers: &<a class="struct" href="../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>></code><a href="#method.extract_policy-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/policy.rs.html#796-886" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/descriptor/trait.ExtractPolicy.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for types which can be converted into an [`ExtendedDescriptor`] and a [`KeyMap`] usable by a wallet in a specific [`Network`]"><meta name="keywords" content="rust, rustlang, rust-lang, IntoWalletDescriptor"><title>bdk::descriptor::IntoWalletDescriptor - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IntoWalletDescriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_wallet_descriptor">into_wallet_descriptor</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor-for-%26String">&String</a><a href="#impl-IntoWalletDescriptor-for-%26str">&str</a><a href="#impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)">(ExtendedDescriptor, KeyMap)</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="IntoWalletDescriptor" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">IntoWalletDescriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#62-69" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IntoWalletDescriptor {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IntoWalletDescriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_wallet_descriptor">into_wallet_descriptor</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor-for-%26String">&String</a><a href="#impl-IntoWalletDescriptor-for-%26str">&str</a><a href="#impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)">(ExtendedDescriptor, KeyMap)</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="IntoWalletDescriptor" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">IntoWalletDescriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#62-69" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IntoWalletDescriptor {
fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>>;
}</pre></div><div class="docblock"><p>Trait for types which can be converted into an <a href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="ExtendedDescriptor"><code>ExtendedDescriptor</code></a> and a <a href="../../bdk/keys/type.KeyMap.html" title="KeyMap"><code>KeyMap</code></a> usable by a wallet in a specific [<code>Network</code>]</p>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.into_wallet_descriptor" class="method"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#64-68" title="goto source code">[src]</a></h3><div class="docblock"><p>Convert to wallet descriptor</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IntoWalletDescriptor-for-%26str" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#impl-IntoWalletDescriptor-for-%26str" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#71-95" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#72-94" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-for-%26String" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#impl-IntoWalletDescriptor-for-%26String" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#97-105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-1" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#98-104" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#117-148" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-2" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#118-147" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#150-186" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-3" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor-3" class="fnname">into_wallet_descriptor</a>(<br> self, <br> _secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#151-185" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a href="#impl-IntoWalletDescriptor-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#107-115" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-4" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor-4" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#108-114" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-2" class="impl"><code class="in-band">impl<T: <a class="trait" href="../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>> <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T</code><a href="#impl-IntoWalletDescriptor-2" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="docblock"><p>Turns a <a href="../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="DescriptorTemplate"><code>DescriptorTemplate</code></a> into a valid wallet descriptor by calling its
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IntoWalletDescriptor-for-%26str" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#impl-IntoWalletDescriptor-for-%26str" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#71-95" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#72-94" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-for-%26String" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for &<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#impl-IntoWalletDescriptor-for-%26String" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#97-105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#98-104" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoWalletDescriptor-for-(ExtendedDescriptor%2C%20KeyMap)" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#117-148" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor-2" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#118-147" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/template/type.DescriptorTemplateOut.html" title="type bdk::descriptor::template::DescriptorTemplateOut">DescriptorTemplateOut</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#150-186" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> _secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor-3" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#151-185" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a href="#impl-IntoWalletDescriptor-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#107-115" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor-4" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#108-114" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoWalletDescriptor-2" class="impl"><code class="in-band">impl<T: <a class="trait" href="../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="trait bdk::descriptor::template::DescriptorTemplate">DescriptorTemplate</a>> <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for T</code><a href="#impl-IntoWalletDescriptor-2" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/template.rs.html#59-67" title="goto source code">[src]</a></h3><div class="docblock"><p>Turns a <a href="../../bdk/descriptor/template/trait.DescriptorTemplate.html" title="DescriptorTemplate"><code>DescriptorTemplate</code></a> into a valid wallet descriptor by calling its
<a href="../../bdk/descriptor/template/trait.DescriptorTemplate.html#tymethod.build"><code>build</code></a> method</p>
-</div><div class="impl-items"><h4 id="method.into_wallet_descriptor-5" class="method hidden"><code>fn <a href="#method.into_wallet_descriptor-5" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/descriptor/trait.IntoWalletDescriptor.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div><div class="impl-items"><h4 id="method.into_wallet_descriptor-5" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor-5" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/template.rs.html#60-66" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/descriptor/trait.IntoWalletDescriptor.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="The ScriptContext for Miniscript. Additional type information associated with miniscript that is used for carrying out checks that dependent on the context under which the script is used. For example, disallowing uncompressed keys in Segwit context"><meta name="keywords" content="rust, rustlang, rust-lang, ScriptContext"><title>bdk::descriptor::ScriptContext - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.check_terminal_non_malleable">check_terminal_non_malleable</a><a href="#tymethod.max_satisfaction_size">max_satisfaction_size</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.check_global_validity">check_global_validity</a><a href="#method.check_witness">check_witness</a><a href="#method.check_global_consensus_validity">check_global_consensus_validity</a><a href="#method.check_global_policy_validity">check_global_policy_validity</a><a href="#method.check_local_consensus_validity">check_local_consensus_validity</a><a href="#method.check_local_policy_validity">check_local_policy_validity</a><a href="#method.check_local_validity">check_local_validity</a><a href="#method.top_level_type_check">top_level_type_check</a><a href="#method.other_top_level_checks">other_top_level_checks</a><a href="#method.top_level_checks">top_level_checks</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ScriptContext-for-BareCtx">BareCtx</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">ScriptContext</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ScriptContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Self> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Self> + Sealed {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.check_terminal_non_malleable">check_terminal_non_malleable</a><a href="#tymethod.max_satisfaction_size">max_satisfaction_size</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.check_global_consensus_validity">check_global_consensus_validity</a><a href="#method.check_global_policy_validity">check_global_policy_validity</a><a href="#method.check_global_validity">check_global_validity</a><a href="#method.check_local_consensus_validity">check_local_consensus_validity</a><a href="#method.check_local_policy_validity">check_local_policy_validity</a><a href="#method.check_local_validity">check_local_validity</a><a href="#method.check_witness">check_witness</a><a href="#method.other_top_level_checks">other_top_level_checks</a><a href="#method.top_level_checks">top_level_checks</a><a href="#method.top_level_type_check">top_level_type_check</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ScriptContext-for-BareCtx">BareCtx</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="trait" href="">ScriptContext</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ScriptContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Self> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Self> + Sealed {
pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError><br> <span class="where">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey</span>;
<div class="item-spacer"></div> pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>><br> <span class="where">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey</span>;
</div><h3 id="method.top_level_type_check" class="method"><code>pub fn <a href="#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Check whether the top-level is type B</p>
</div><h3 id="method.other_top_level_checks" class="method"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Other top level checks that are context specific</p>
</div><h3 id="method.top_level_checks" class="method"><code>pub fn <a href="#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Check top level consensus rules.</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ScriptContext-for-BareCtx" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for BareCtx</code><a href="#impl-ScriptContext-for-BareCtx" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-1" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-1" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.other_top_level_checks-1" class="method hidden"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-1" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable-1" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_witness-1" class="method hidden"><code>pub fn <a href="#method.check_witness-1" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-2" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity-2" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-2" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity-2" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_policy_validity-1" class="method hidden"><code>pub fn <a href="#method.check_local_policy_validity-1" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size-1" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size-1" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div><h3 id="impl-ScriptContext-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-2" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable-2" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_witness-2" class="method hidden"><code>pub fn <a href="#method.check_witness-2" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-3" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity-3" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-3" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity-3" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_policy_validity-1" class="method hidden"><code>pub fn <a href="#method.check_global_policy_validity-1" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_policy_validity-2" class="method hidden"><code>pub fn <a href="#method.check_local_policy_validity-2" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size-2" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size-2" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/miniscript/miniscript/context/trait.ScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ScriptContext-for-BareCtx" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for BareCtx</code><a href="#impl-ScriptContext-for-BareCtx" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-1" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-1" class="anchor"></a></h4><h4 id="method.other_top_level_checks-1" class="method hidden trait-impl"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.other_top_level_checks-1" class="anchor"></a></h4><h4 id="method.max_satisfaction_size" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-1" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable-1" class="anchor"></a></h4><h4 id="method.check_witness-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness-1" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-2" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-2" class="anchor"></a></h4><h4 id="method.check_local_policy_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity-1" class="anchor"></a></h4><h4 id="method.max_satisfaction_size-1" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size-1" class="anchor"></a></h4></div><h3 id="impl-ScriptContext-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-2" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable-2" class="anchor"></a></h4><h4 id="method.check_witness-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness-2" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-3" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-3" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-3" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-3" class="anchor"></a></h4><h4 id="method.check_global_policy_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_policy_validity-1" class="anchor"></a></h4><h4 id="method.check_local_policy_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity-2" class="anchor"></a></h4><h4 id="method.max_satisfaction_size-2" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size-2" class="anchor"></a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/miniscript/miniscript/context/trait.ScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Alias for a [`Descriptor`] that contains extended derived keys"><meta name="keywords" content="rust, rustlang, rust-lang, DerivedDescriptor"><title>bdk::descriptor::DerivedDescriptor - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DerivedDescriptor</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="DerivedDescriptor" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">DerivedDescriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#52" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DerivedDescriptor<'s> = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>>;</pre><div class="docblock"><p>Alias for a <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor"><code>Descriptor</code></a> that contains extended <strong>derived</strong> keys</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DerivedDescriptor</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="DerivedDescriptor" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">DerivedDescriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#52" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DerivedDescriptor<'s> = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="struct" href="../../bdk/descriptor/struct.DerivedDescriptorKey.html" title="struct bdk::descriptor::DerivedDescriptorKey">DerivedDescriptorKey</a><'s>>;</pre><div class="docblock"><p>Alias for a <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor"><code>Descriptor</code></a> that contains extended <strong>derived</strong> keys</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Alias for a [`Descriptor`] that can contain extended keys using [`DescriptorPublicKey`]"><meta name="keywords" content="rust, rustlang, rust-lang, ExtendedDescriptor"><title>bdk::descriptor::ExtendedDescriptor - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ExtendedDescriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ExtendedDescriptor" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">ExtendedDescriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#49" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ExtendedDescriptor = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>;</pre><div class="docblock"><p>Alias for a <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor"><code>Descriptor</code></a> that can contain extended keys using <a href="../../bdk/keys/enum.DescriptorPublicKey.html" title="DescriptorPublicKey"><code>DescriptorPublicKey</code></a></p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#107-115" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden"><code>fn <a href="../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#108-114" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ExtendedDescriptor</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-IntoWalletDescriptor">IntoWalletDescriptor</a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="ExtendedDescriptor" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">ExtendedDescriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#49" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ExtendedDescriptor = <a class="enum" href="../../bdk/descriptor/enum.Descriptor.html" title="enum bdk::descriptor::Descriptor">Descriptor</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>>;</pre><div class="docblock"><p>Alias for a <a href="../../bdk/descriptor/enum.Descriptor.html" title="Descriptor"><code>Descriptor</code></a> that can contain extended keys using <a href="../../bdk/keys/enum.DescriptorPublicKey.html" title="DescriptorPublicKey"><code>DescriptorPublicKey</code></a></p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-IntoWalletDescriptor" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a> for <a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a href="#impl-IntoWalletDescriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#107-115" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_wallet_descriptor" class="method hidden trait-impl"><code>fn <a href="../../bdk/descriptor/trait.IntoWalletDescriptor.html#tymethod.into_wallet_descriptor" class="fnname">into_wallet_descriptor</a>(<br> self, <br> secp: &Secp256k1<All>, <br> network: Network<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>, <a class="type" href="../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">DescriptorError</a>></code><a href="#method.into_wallet_descriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#108-114" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Convert to wallet descriptor</p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Alias for the type of maps that represent derivation paths in a `psbt::Input` or `psbt::Output`"><meta name="keywords" content="rust, rustlang, rust-lang, HdKeyPaths"><title>bdk::descriptor::HdKeyPaths - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition HdKeyPaths</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="HdKeyPaths" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">HdKeyPaths</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#59" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type HdKeyPaths = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><PublicKey, KeySource>;</pre><div class="docblock"><p>Alias for the type of maps that represent derivation paths in a <a href="bitcoin::util::psbt::Input"><code>psbt::Input</code></a> or
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition HdKeyPaths</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="HdKeyPaths" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">HdKeyPaths</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/descriptor/mod.rs.html#59" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type HdKeyPaths = <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><PublicKey, KeySource>;</pre><div class="docblock"><p>Alias for the type of maps that represent derivation paths in a <a href="bitcoin::util::psbt::Input"><code>psbt::Input</code></a> or
<a href="bitcoin::util::psbt::Output"><code>psbt::Output</code></a></p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Alias type for a map of public key to secret key"><meta name="keywords" content="rust, rustlang, rust-lang, KeyMap"><title>bdk::descriptor::KeyMap - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition KeyMap</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="KeyMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">KeyMap</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><pre class="rust typedef">type KeyMap = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>;</pre><div class="docblock"><p>Alias type for a map of public key to secret key</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition KeyMap</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a></p><div id="sidebar-vars" data-name="KeyMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">descriptor</a>::<wbr><a class="type" href="">KeyMap</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><pre class="rust typedef">type KeyMap = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>;</pre><div class="docblock"><p>Alias type for a map of public key to secret key</p>
<p>This map is returned whenever a descriptor that contains secrets is parsed using
<a href="../../bdk/descriptor/enum.Descriptor.html#method.parse_descriptor" title="Descriptor::parse_descriptor"><code>Descriptor::parse_descriptor</code></a>, since the descriptor will always only contain
public keys. This map allows looking up the corresponding secret key given a
<!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="Errors that can be thrown by the `Wallet`"><meta name="keywords" content="rust, rustlang, rust-lang, Error"><title>bdk::Error - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum Error</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AddressValidator">AddressValidator</a><a href="#variant.Bip32">Bip32</a><a href="#variant.BnBNoExactMatch">BnBNoExactMatch</a><a href="#variant.BnBTotalTriesExceeded">BnBTotalTriesExceeded</a><a href="#variant.ChecksumMismatch">ChecksumMismatch</a><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Descriptor">Descriptor</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Encode">Encode</a><a href="#variant.Esplora">Esplora</a><a href="#variant.FeeRateTooLow">FeeRateTooLow</a><a href="#variant.FeeTooLow">FeeTooLow</a><a href="#variant.Generic">Generic</a><a href="#variant.Hex">Hex</a><a href="#variant.InsufficientFunds">InsufficientFunds</a><a href="#variant.InvalidOutpoint">InvalidOutpoint</a><a href="#variant.InvalidPolicyPathError">InvalidPolicyPathError</a><a href="#variant.InvalidProgressValue">InvalidProgressValue</a><a href="#variant.InvalidU32Bytes">InvalidU32Bytes</a><a href="#variant.IrreplaceableTransaction">IrreplaceableTransaction</a><a href="#variant.Json">Json</a><a href="#variant.Key">Key</a><a href="#variant.Miniscript">Miniscript</a><a href="#variant.MissingKeyOrigin">MissingKeyOrigin</a><a href="#variant.NoRecipients">NoRecipients</a><a href="#variant.NoUtxosSelected">NoUtxosSelected</a><a href="#variant.OutputBelowDustLimit">OutputBelowDustLimit</a><a href="#variant.ProgressUpdateError">ProgressUpdateError</a><a href="#variant.Psbt">Psbt</a><a href="#variant.ScriptDoesntHaveAddressForm">ScriptDoesntHaveAddressForm</a><a href="#variant.Secp256k1">Secp256k1</a><a href="#variant.Signer">Signer</a><a href="#variant.SingleRecipientMultipleOutputs">SingleRecipientMultipleOutputs</a><a href="#variant.SingleRecipientNoInputs">SingleRecipientNoInputs</a><a href="#variant.Sled">Sled</a><a href="#variant.SpendingPolicyRequired">SpendingPolicyRequired</a><a href="#variant.TransactionConfirmed">TransactionConfirmed</a><a href="#variant.TransactionNotFound">TransactionNotFound</a><a href="#variant.UnknownUtxo">UnknownUtxo</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CAddressValidatorError%3E">From<AddressValidatorError></a><a href="#impl-From%3CCompactFiltersError%3E">From<CompactFiltersError></a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CEsploraError%3E">From<EsploraError></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a><a href="#impl-From%3CSignerError%3E">From<SignerError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="Error" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">Error</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/error.rs.html#19-129" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Error {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum Error</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.AddressValidator">AddressValidator</a><a href="#variant.Bip32">Bip32</a><a href="#variant.BnBNoExactMatch">BnBNoExactMatch</a><a href="#variant.BnBTotalTriesExceeded">BnBTotalTriesExceeded</a><a href="#variant.ChecksumMismatch">ChecksumMismatch</a><a href="#variant.CompactFilters">CompactFilters</a><a href="#variant.Descriptor">Descriptor</a><a href="#variant.Electrum">Electrum</a><a href="#variant.Encode">Encode</a><a href="#variant.Esplora">Esplora</a><a href="#variant.FeeRateTooLow">FeeRateTooLow</a><a href="#variant.FeeTooLow">FeeTooLow</a><a href="#variant.Generic">Generic</a><a href="#variant.Hex">Hex</a><a href="#variant.InsufficientFunds">InsufficientFunds</a><a href="#variant.InvalidOutpoint">InvalidOutpoint</a><a href="#variant.InvalidPolicyPathError">InvalidPolicyPathError</a><a href="#variant.InvalidProgressValue">InvalidProgressValue</a><a href="#variant.InvalidU32Bytes">InvalidU32Bytes</a><a href="#variant.IrreplaceableTransaction">IrreplaceableTransaction</a><a href="#variant.Json">Json</a><a href="#variant.Key">Key</a><a href="#variant.Miniscript">Miniscript</a><a href="#variant.MissingKeyOrigin">MissingKeyOrigin</a><a href="#variant.NoRecipients">NoRecipients</a><a href="#variant.NoUtxosSelected">NoUtxosSelected</a><a href="#variant.OutputBelowDustLimit">OutputBelowDustLimit</a><a href="#variant.ProgressUpdateError">ProgressUpdateError</a><a href="#variant.Psbt">Psbt</a><a href="#variant.ScriptDoesntHaveAddressForm">ScriptDoesntHaveAddressForm</a><a href="#variant.Secp256k1">Secp256k1</a><a href="#variant.Signer">Signer</a><a href="#variant.SingleRecipientMultipleOutputs">SingleRecipientMultipleOutputs</a><a href="#variant.SingleRecipientNoInputs">SingleRecipientNoInputs</a><a href="#variant.Sled">Sled</a><a href="#variant.SpendingPolicyRequired">SpendingPolicyRequired</a><a href="#variant.TransactionConfirmed">TransactionConfirmed</a><a href="#variant.TransactionNotFound">TransactionNotFound</a><a href="#variant.UnknownUtxo">UnknownUtxo</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CAddressValidatorError%3E">From<AddressValidatorError></a><a href="#impl-From%3CCompactFiltersError%3E">From<CompactFiltersError></a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CEsploraError%3E">From<EsploraError></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a><a href="#impl-From%3CPolicyError%3E">From<PolicyError></a><a href="#impl-From%3CSignerError%3E">From<SignerError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="Error" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">Error</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/error.rs.html#19-129" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Error {
InvalidU32Bytes(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>),
Generic(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>),
ScriptDoesntHaveAddressForm,
</div><div id="variant.Esplora" class="variant small-section-header"><a href="#variant.Esplora" class="anchor field"></a><code>Esplora(<a class="enum" href="../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>)</code></div><div class="docblock"><p>Esplora client error</p>
</div><div id="variant.CompactFilters" class="variant small-section-header"><a href="#variant.CompactFilters" class="anchor field"></a><code>CompactFilters(<a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>)</code></div><div class="docblock"><p>Compact filters client error)</p>
</div><div id="variant.Sled" class="variant small-section-header"><a href="#variant.Sled" class="anchor field"></a><code>Sled(Error)</code></div><div class="docblock"><p>Sled database error</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#18" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/error.rs.html#18" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/error.rs.html#132-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#137" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CCompactFiltersError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CCompactFiltersError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#184-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-15" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#185-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-10" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a>> for <a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-10" class="anchor"></a><a class="srclink" href="../src/bdk/blockchain/compact_filters/mod.rs.html#565-569" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="method.from-16" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a>) -> Self</code><a class="srclink" href="../src/bdk/blockchain/compact_filters/mod.rs.html#566-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-7" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#170" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-4" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-4" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-8" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-5" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-5" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-9" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-6" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-6" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-10" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-7" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-7" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#174" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-11" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#174" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-8" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-8" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-12" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#177" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-9" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-9" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-14" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CEsploraError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CEsploraError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-13" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a class="srclink" href="../src/bdk/error.rs.html#158-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> Self</code><a class="srclink" href="../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-17" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#18" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#18" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#132-134" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#137" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CCompactFiltersError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CCompactFiltersError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#184-191" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-15" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(other: <a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a>) -> Self</code><a href="#method.from-15" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#185-190" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-5" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-5" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-10" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a>> for <a class="enum" href="../bdk/blockchain/compact_filters/enum.CompactFiltersError.html" title="enum bdk::blockchain::compact_filters::CompactFiltersError">CompactFiltersError</a></code><a href="#impl-From%3CError%3E-10" class="anchor"></a><a class="srclink" href="../src/bdk/blockchain/compact_filters/mod.rs.html#565-569" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>compact_filters</code></strong> only.</div></div><div class="impl-items"><h4 id="method.from-16" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a>) -> Self</code><a href="#method.from-16" class="anchor"></a><a class="srclink" href="../src/bdk/blockchain/compact_filters/mod.rs.html#566-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-2" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-2" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#169" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-6" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-6" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#169" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-3" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-3" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#170" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-7" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-7" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#170" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-4" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-4" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#171" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-8" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-8" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#171" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-5" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-5" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#172" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-9" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a>) -> Self</code><a href="#method.from-9" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#172" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-6" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-6" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#173" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-10" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-10" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#173" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-7" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-7" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#174" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-11" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-11" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#174" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-8" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-8" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#177" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-12" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-12" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#177" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-9" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CError%3E-9" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#181" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-14" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-14" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CEsploraError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CEsploraError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-13" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/blockchain/esplora/enum.EsploraError.html" title="enum bdk::blockchain::esplora::EsploraError">EsploraError</a>) -> Self</code><a href="#method.from-13" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#179" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#method.from-4" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#158-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CPolicyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CPolicyError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/descriptor/policy/enum.PolicyError.html" title="enum bdk::descriptor::policy::PolicyError">PolicyError</a>) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#154" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> Self</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-17" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-17" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="Types of keychains"><meta name="keywords" content="rust, rustlang, rust-lang, KeychainKind"><title>bdk::KeychainKind - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum KeychainKind</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.External">External</a><a href="#variant.Internal">Internal</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_byte">as_byte</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3C%5Bu8%5D%3E">AsRef<[u8]></a><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq%3CKeychainKind%3E">PartialEq<KeychainKind></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Base32Len">Base32Len</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E">CheckBase32<Vec<u5, Global>></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToBase32">ToBase32</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="KeychainKind" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">KeychainKind</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#21-26" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum KeychainKind {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum KeychainKind</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.External">External</a><a href="#variant.Internal">Internal</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_byte">as_byte</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3C%5Bu8%5D%3E">AsRef<[u8]></a><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq%3CKeychainKind%3E">PartialEq<KeychainKind></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Base32Len">Base32Len</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E">CheckBase32<Vec<u5, Global>></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToBase32">ToBase32</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="KeychainKind" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">KeychainKind</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#21-26" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum KeychainKind {
External,
Internal,
}</pre></div><div class="docblock"><p>Types of keychains</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.External" class="variant small-section-header"><a href="#variant.External" class="anchor field"></a><code>External</code></div><div class="docblock"><p>External</p>
</div><div id="variant.Internal" class="variant small-section-header"><a href="#variant.Internal" class="anchor field"></a><code>Internal</code></div><div class="docblock"><p>Internal, usually used for change outputs</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#28-36" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_byte" class="method"><code>pub fn <a href="#method.as_byte" class="fnname">as_byte</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></code><a class="srclink" href="../src/bdk/types.rs.html#30-35" title="goto source code">[src]</a></h4><div class="docblock"><p>Return <a href="../bdk/enum.KeychainKind.html" title="KeychainKind"><code>KeychainKind</code></a> as a byte</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3C%5Bu8%5D%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-AsRef%3C%5Bu8%5D%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#38-45" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a class="srclink" href="../src/bdk/types.rs.html#39-44" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CKeychainKind%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-PartialEq%3CKeychainKind%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#28-36" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_byte" class="method"><code>pub fn <a href="#method.as_byte" class="fnname">as_byte</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></code><a href="#method.as_byte" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#30-35" title="goto source code">[src]</a></h4><div class="docblock"><p>Return <a href="../bdk/enum.KeychainKind.html" title="KeychainKind"><code>KeychainKind</code></a> as a byte</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3C%5Bu8%5D%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-AsRef%3C%5Bu8%5D%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#38-45" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a href="#method.as_ref" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#39-44" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CKeychainKind%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-PartialEq%3CKeychainKind%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Base32Len" class="impl"><code class="in-band">impl<T> Base32Len for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-Base32Len" class="anchor"></a></h3><div class="impl-items"><h4 id="method.base32_len" class="method hidden"><code>pub fn <a href="#method.base32_len" class="fnname">base32_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Calculate the base32 serialized length</p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="impl"><code class="in-band">impl<'f, T> CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="#associatedtype.Err" class="type">Err</a> = Error</code></h4><div class='docblock'><p>Error type if conversion fails</p>
-</div><h4 id="method.check_base32" class="method hidden"><code>pub fn <a href="#method.check_base32" class="fnname">check_base32</a>(<br> self<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <T as CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>>>::Err></code></h4><div class='docblock hidden'><p>Check if all values are in range and return array-like struct of <code>u5</code> values</p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#20" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Base32Len" class="impl"><code class="in-band">impl<T> Base32Len for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-Base32Len" class="anchor"></a></h3><div class="impl-items"><h4 id="method.base32_len" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.base32_len" class="fnname">base32_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.base32_len" class="anchor"></a></h4><div class='docblock hidden'><p>Calculate the base32 serialized length</p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="impl"><code class="in-band">impl<'f, T> CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="#associatedtype.Err" class="type">Err</a> = Error</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>Error type if conversion fails</p>
+</div><h4 id="method.check_base32" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_base32" class="fnname">check_base32</a>(<br> self<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <T as CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>>>::Err></code><a href="#method.check_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Check if all values are in range and return array-like struct of <code>u5</code> values</p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToBase32" class="impl"><code class="in-band">impl<T> ToBase32 for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-ToBase32" class="anchor"></a></h3><div class="impl-items"><h4 id="method.write_base32" class="method hidden"><code>pub fn <a href="#method.write_base32" class="fnname">write_base32</a><W>(<br> &self, <br> writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>W<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <W as WriteBase32>::Err> <span class="where fmt-newline">where<br> W: WriteBase32, </span></code></h4><div class='docblock hidden'><p>Encode as base32 and write it to the supplied writer
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToBase32" class="impl"><code class="in-band">impl<T> ToBase32 for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-ToBase32" class="anchor"></a></h3><div class="impl-items"><h4 id="method.write_base32" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.write_base32" class="fnname">write_base32</a><W>(<br> &self, <br> writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>W<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <W as WriteBase32>::Err> <span class="where fmt-newline">where<br> W: WriteBase32, </span></code><a href="#method.write_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Encode as base32 and write it to the supplied writer
Implementations shouldn’t allocate. <a href="#tymethod.write_base32">Read more</a></p>
-</div><h4 id="method.to_base32" class="method hidden"><code>pub fn <a href="#method.to_base32" class="fnname">to_base32</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class='docblock hidden'><p>Convert <code>Self</code> to base32 vector</p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div><h4 id="method.to_base32" class="method hidden trait-impl"><code>pub fn <a href="#method.to_base32" class="fnname">to_base32</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.to_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Convert <code>Self</code> to base32 vector</p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="An unspent transaction output (UTXO)."><meta name="keywords" content="rust, rustlang, rust-lang, Utxo"><title>bdk::Utxo - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum Utxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Foreign">Foreign</a><a href="#variant.Local">Local</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.outpoint">outpoint</a><a href="#method.txout">txout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-PartialEq%3CUtxo%3E">PartialEq<Utxo></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="Utxo" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">Utxo</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#107-118" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Utxo {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Enum Utxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Foreign">Foreign</a><a href="#variant.Local">Local</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.outpoint">outpoint</a><a href="#method.txout">txout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-PartialEq%3CUtxo%3E">PartialEq<Utxo></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="Utxo" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="index.html">bdk</a>::<wbr><a class="enum" href="">Utxo</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#107-118" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Utxo {
Local(<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>),
Foreign {
outpoint: OutPoint,
</div><div id="variant.Foreign" class="variant small-section-header"><a href="#variant.Foreign" class="anchor field"></a><code>Foreign</code></div><div class="docblock"><p>A UTXO owned by another wallet.</p>
</div><div class="autohide sub-variant" id="variant.Foreign.fields"><h3>Fields of <b>Foreign</b></h3><div><span id="variant.Foreign.field.outpoint" class="variant small-section-header"><a href="#variant.Foreign.field.outpoint" class="anchor field"></a><code>outpoint: OutPoint</code></span><div class="docblock"><p>The location of the output.</p>
</div><span id="variant.Foreign.field.psbt_input" class="variant small-section-header"><a href="#variant.Foreign.field.psbt_input" class="anchor field"></a><code>psbt_input: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><Input></code></span><div class="docblock"><p>The information about the input we require to add it to a PSBT.</p>
-</div></div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#120-149" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.outpoint" class="method"><code>pub fn <a href="#method.outpoint" class="fnname">outpoint</a>(&self) -> OutPoint</code><a class="srclink" href="../src/bdk/types.rs.html#122-127" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the location of the UTXO</p>
-</div><h4 id="method.txout" class="method"><code>pub fn <a href="#method.txout" class="fnname">txout</a>(&self) -> &TxOut</code><a class="srclink" href="../src/bdk/types.rs.html#130-148" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the <code>TxOut</code> of the UTXO</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-PartialEq%3CUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#120-149" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.outpoint" class="method"><code>pub fn <a href="#method.outpoint" class="fnname">outpoint</a>(&self) -> OutPoint</code><a href="#method.outpoint" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#122-127" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the location of the UTXO</p>
+</div><h4 id="method.txout" class="method"><code>pub fn <a href="#method.txout" class="fnname">txout</a>(&self) -> &TxOut</code><a href="#method.txout" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#130-148" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the <code>TxOut</code> of the UTXO</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-PartialEq%3CUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#105" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="Get the version of BDK at runtime"><meta name="keywords" content="rust, rustlang, rust-lang, version"><title>bdk::version - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="version" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">bdk</a>::<wbr><a class="fn" href="">version</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/lib.rs.html#263-265" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn version() -> &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></pre><div class="docblock"><p>Get the version of BDK at runtime</p>
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="version" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">bdk</a>::<wbr><a class="fn" href="">version</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/lib.rs.html#263-265" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn version() -> &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></pre><div class="docblock"><p>Get the version of BDK at runtime</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="A modern, lightweight, descriptor-based wallet library written in Rust."><meta name="keywords" content="rust, rustlang, rust-lang, bdk"><title>bdk - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate bdk</p><div class="block version"><p>Version 0.6.1-dev</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all bdk's items</p></a><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"></p><div id="sidebar-vars" data-name="bdk" data-ty="mod" data-relpath="../"></div></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="">bdk</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/lib.rs.html#13-265" title="goto source code">[src]</a></span></h1><div class="docblock"><p>A modern, lightweight, descriptor-based wallet library written in Rust.</p>
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate bdk</p><div class="block version"><p>Version 0.6.1-dev</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all bdk's items</p></a><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"></p><div id="sidebar-vars" data-name="bdk" data-ty="mod" data-relpath="../"></div></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="">bdk</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/lib.rs.html#13-265" title="goto source code">[src]</a></span></h1><div class="docblock"><p>A modern, lightweight, descriptor-based wallet library written in Rust.</p>
<h1 id="about" class="section-header"><a href="#about">About</a></h1>
<p>The BDK library aims to be the core building block for Bitcoin wallets of any kind.</p>
<ul>
</code></pre>
<h2 id="sync-the-balance-of-a-descriptor" class="section-header"><a href="#sync-the-balance-of-a-descriptor">Sync the balance of a descriptor</a></h2><h3 id="example" class="section-header"><a href="#example">Example</a></h3>
<div class='information'><div class='tooltip ignore'>ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">Wallet</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">database</span>::<span class="ident">MemoryDatabase</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">blockchain</span>::{<span class="ident">noop_progress</span>, <span class="ident">ElectrumBlockchain</span>};
+<span class="kw">use</span> <span class="ident">bdk::Wallet</span>;
+<span class="kw">use</span> <span class="ident">bdk::database::MemoryDatabase</span>;
+<span class="kw">use</span> <span class="ident">bdk::blockchain</span>::{<span class="ident">noop_progress</span>, <span class="ident">ElectrumBlockchain</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">electrum_client</span>::<span class="ident">Client</span>;
+<span class="kw">use</span> <span class="ident">bdk::electrum_client::Client</span>;
-<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">Client</span>::<span class="ident">new</span>(<span class="string">"ssl://electrum.blockstream.info:60002"</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new</span>(
+<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk::Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">Client::new</span>(<span class="string">"ssl://electrum.blockstream.info:60002"</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new</span>(
<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"</span>,
<span class="prelude-val">Some</span>(<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"</span>),
- <span class="ident">bitcoin</span>::<span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
- <span class="ident">ElectrumBlockchain</span>::<span class="ident">from</span>(<span class="ident">client</span>)
+ <span class="ident">bitcoin::Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
+ <span class="ident">ElectrumBlockchain::from</span>(<span class="ident">client</span>)
)<span class="question-mark">?</span>;
<span class="ident">wallet</span>.<span class="ident">sync</span>(<span class="ident">noop_progress</span>(), <span class="prelude-val">None</span>)<span class="question-mark">?</span>;
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Descriptor balance: {} SAT"</span>, <span class="ident">wallet</span>.<span class="ident">get_balance</span>()<span class="question-mark">?</span>);
+ <span class="macro">println!</span>(<span class="string">"Descriptor balance: {} SAT"</span>, <span class="ident">wallet</span>.<span class="ident">get_balance</span>()<span class="question-mark">?</span>);
<span class="prelude-val">Ok</span>(())
}</pre></div>
<h2 id="generate-a-few-addresses" class="section-header"><a href="#generate-a-few-addresses">Generate a few addresses</a></h2><h3 id="example-1" class="section-header"><a href="#example-1">Example</a></h3>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bdk</span>::{<span class="ident">Wallet</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">database</span>::<span class="ident">MemoryDatabase</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">wallet</span>::<span class="ident">AddressIndex</span>::<span class="ident">New</span>;
+<span class="kw">use</span> <span class="ident">bdk::database::MemoryDatabase</span>;
+<span class="kw">use</span> <span class="ident">bdk::wallet::AddressIndex::New</span>;
-<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk</span>::<span class="ident">Error</span><span class="op">></span> {
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk::Error</span><span class="op">></span> {
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"</span>,
<span class="prelude-val">Some</span>(<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"</span>),
- <span class="ident">bitcoin</span>::<span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">bitcoin::Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Address #0: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Address #1: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Address #2: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
+ <span class="macro">println!</span>(<span class="string">"Address #0: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
+ <span class="macro">println!</span>(<span class="string">"Address #1: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
+ <span class="macro">println!</span>(<span class="string">"Address #2: {}"</span>, <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>);
<span class="prelude-val">Ok</span>(())
}</pre></div>
<h2 id="create-a-transaction" class="section-header"><a href="#create-a-transaction">Create a transaction</a></h2><h3 id="example-2" class="section-header"><a href="#example-2">Example</a></h3>
<div class='information'><div class='tooltip ignore'>ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
-<span class="kw">use</span> <span class="ident">base64</span>::<span class="ident">decode</span>;
+<span class="kw">use</span> <span class="ident">base64::decode</span>;
<span class="kw">use</span> <span class="ident">bdk</span>::{<span class="ident">FeeRate</span>, <span class="ident">Wallet</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">database</span>::<span class="ident">MemoryDatabase</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">blockchain</span>::{<span class="ident">noop_progress</span>, <span class="ident">ElectrumBlockchain</span>};
+<span class="kw">use</span> <span class="ident">bdk::database::MemoryDatabase</span>;
+<span class="kw">use</span> <span class="ident">bdk::blockchain</span>::{<span class="ident">noop_progress</span>, <span class="ident">ElectrumBlockchain</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">electrum_client</span>::<span class="ident">Client</span>;
+<span class="kw">use</span> <span class="ident">bdk::electrum_client::Client</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">serialize</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">wallet</span>::<span class="ident">AddressIndex</span>::<span class="ident">New</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::serialize</span>;
+<span class="kw">use</span> <span class="ident">bdk::wallet::AddressIndex::New</span>;
-<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">Client</span>::<span class="ident">new</span>(<span class="string">"ssl://electrum.blockstream.info:60002"</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new</span>(
+<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk::Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">Client::new</span>(<span class="string">"ssl://electrum.blockstream.info:60002"</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new</span>(
<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"</span>,
<span class="prelude-val">Some</span>(<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/1/*)"</span>),
- <span class="ident">bitcoin</span>::<span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
- <span class="ident">ElectrumBlockchain</span>::<span class="ident">from</span>(<span class="ident">client</span>)
+ <span class="ident">bitcoin::Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
+ <span class="ident">ElectrumBlockchain::from</span>(<span class="ident">client</span>)
)<span class="question-mark">?</span>;
<span class="ident">wallet</span>.<span class="ident">sync</span>(<span class="ident">noop_progress</span>(), <span class="prelude-val">None</span>)<span class="question-mark">?</span>;
.<span class="ident">add_recipient</span>(<span class="ident">send_to</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>)
.<span class="ident">enable_rbf</span>()
.<span class="ident">do_not_spend_change</span>()
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>))
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>))
.<span class="ident">finish</span>()<span class="question-mark">?</span>;
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Transaction details: {:#?}"</span>, <span class="ident">details</span>);
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Unsigned PSBT: {}"</span>, <span class="ident">base64</span>::<span class="ident">encode</span>(<span class="kw-2">&</span><span class="ident">serialize</span>(<span class="kw-2">&</span><span class="ident">psbt</span>)));
+ <span class="macro">println!</span>(<span class="string">"Transaction details: {:#?}"</span>, <span class="ident">details</span>);
+ <span class="macro">println!</span>(<span class="string">"Unsigned PSBT: {}"</span>, <span class="ident">base64::encode</span>(<span class="kw-2">&</span><span class="ident">serialize</span>(<span class="kw-2">&</span><span class="ident">psbt</span>)));
<span class="prelude-val">Ok</span>(())
}</pre></div>
<h2 id="sign-a-transaction" class="section-header"><a href="#sign-a-transaction">Sign a transaction</a></h2><h3 id="example-3" class="section-header"><a href="#example-3">Example</a></h3>
<div class='information'><div class='tooltip ignore'>ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
-<span class="kw">use</span> <span class="ident">base64</span>::<span class="ident">decode</span>;
+<span class="kw">use</span> <span class="ident">base64::decode</span>;
<span class="kw">use</span> <span class="ident">bdk</span>::{<span class="ident">Wallet</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">database</span>::<span class="ident">MemoryDatabase</span>;
+<span class="kw">use</span> <span class="ident">bdk::database::MemoryDatabase</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">deserialize</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::deserialize</span>;
-<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+<span class="kw">fn</span> <span class="ident">main</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">bdk::Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="string">"wpkh([c258d2e4/84h/1h/0h]tprv8griRPhA7342zfRyB6CqeKF8CJDXYu5pgnj1cjL1u2ngKcJha5jjTRimG82ABzJQ4MQe71CV54xfn25BbhCNfEGGJZnxvCDQCd6JkbvxW6h/0/*)"</span>,
<span class="prelude-val">Some</span>(<span class="string">"wpkh([c258d2e4/84h/1h/0h]tprv8griRPhA7342zfRyB6CqeKF8CJDXYu5pgnj1cjL1u2ngKcJha5jjTRimG82ABzJQ4MQe71CV54xfn25BbhCNfEGGJZnxvCDQCd6JkbvxW6h/1/*)"</span>),
- <span class="ident">bitcoin</span>::<span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">bitcoin::Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">psbt</span> <span class="op">=</span> <span class="string">"..."</span>;
- <span class="kw">let</span> <span class="ident">psbt</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64</span>::<span class="ident">decode</span>(<span class="ident">psbt</span>).<span class="ident">unwrap</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">psbt</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64::decode</span>(<span class="ident">psbt</span>).<span class="ident">unwrap</span>())<span class="question-mark">?</span>;
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>)<span class="question-mark">?</span>;
<!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="The language determines which words will be used in a mnemonic phrase, but also indirectly determines the binary value of each word when a `Mnemonic` is turned into a `Seed`."><meta name="keywords" content="rust, rustlang, rust-lang, Language"><title>bdk::keys::bip39::Language - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Language</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ChineseSimplified">ChineseSimplified</a><a href="#variant.ChineseTraditional">ChineseTraditional</a><a href="#variant.English">English</a><a href="#variant.French">French</a><a href="#variant.Italian">Italian</a><a href="#variant.Japanese">Japanese</a><a href="#variant.Korean">Korean</a><a href="#variant.Spanish">Spanish</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.from_language_code">from_language_code</a><a href="#method.wordlist">wordlist</a><a href="#method.wordmap">wordmap</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialEq%3CLanguage%3E">PartialEq<Language></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Language" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="enum" href="">Language</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Language {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum Language</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ChineseSimplified">ChineseSimplified</a><a href="#variant.ChineseTraditional">ChineseTraditional</a><a href="#variant.English">English</a><a href="#variant.French">French</a><a href="#variant.Italian">Italian</a><a href="#variant.Japanese">Japanese</a><a href="#variant.Korean">Korean</a><a href="#variant.Spanish">Spanish</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.from_language_code">from_language_code</a><a href="#method.wordlist">wordlist</a><a href="#method.wordmap">wordmap</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialEq%3CLanguage%3E">PartialEq<Language></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Language" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="enum" href="">Language</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum Language {
English,
ChineseSimplified,
ChineseTraditional,
official language specified by the standard except English.</p>
</div><h2 id="variants" class="variants small-section-header">
Variants<a href="#variants" class="anchor"></a></h2>
-<div id="variant.English" class="variant small-section-header"><a href="#variant.English" class="anchor field"></a><code>English</code></div><div id="variant.ChineseSimplified" class="variant small-section-header"><a href="#variant.ChineseSimplified" class="anchor field"></a><code>ChineseSimplified</code></div><div id="variant.ChineseTraditional" class="variant small-section-header"><a href="#variant.ChineseTraditional" class="anchor field"></a><code>ChineseTraditional</code></div><div id="variant.French" class="variant small-section-header"><a href="#variant.French" class="anchor field"></a><code>French</code></div><div id="variant.Italian" class="variant small-section-header"><a href="#variant.Italian" class="anchor field"></a><code>Italian</code></div><div id="variant.Japanese" class="variant small-section-header"><a href="#variant.Japanese" class="anchor field"></a><code>Japanese</code></div><div id="variant.Korean" class="variant small-section-header"><a href="#variant.Korean" class="anchor field"></a><code>Korean</code></div><div id="variant.Spanish" class="variant small-section-header"><a href="#variant.Spanish" class="anchor field"></a><code>Spanish</code></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_language_code" class="method"><code>pub fn <a href="#method.from_language_code" class="fnname">from_language_code</a>(language_code: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>></code></h4><div class="docblock"><p>Construct a word list from its language code. Returns None
+<div id="variant.English" class="variant small-section-header"><a href="#variant.English" class="anchor field"></a><code>English</code></div><div id="variant.ChineseSimplified" class="variant small-section-header"><a href="#variant.ChineseSimplified" class="anchor field"></a><code>ChineseSimplified</code></div><div id="variant.ChineseTraditional" class="variant small-section-header"><a href="#variant.ChineseTraditional" class="anchor field"></a><code>ChineseTraditional</code></div><div id="variant.French" class="variant small-section-header"><a href="#variant.French" class="anchor field"></a><code>French</code></div><div id="variant.Italian" class="variant small-section-header"><a href="#variant.Italian" class="anchor field"></a><code>Italian</code></div><div id="variant.Japanese" class="variant small-section-header"><a href="#variant.Japanese" class="anchor field"></a><code>Japanese</code></div><div id="variant.Korean" class="variant small-section-header"><a href="#variant.Korean" class="anchor field"></a><code>Korean</code></div><div id="variant.Spanish" class="variant small-section-header"><a href="#variant.Spanish" class="anchor field"></a><code>Spanish</code></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.from_language_code" class="method"><code>pub fn <a href="#method.from_language_code" class="fnname">from_language_code</a>(language_code: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>></code><a href="#method.from_language_code" class="anchor"></a></h4><div class="docblock"><p>Construct a word list from its language code. Returns None
if the language code is not valid or not supported.</p>
-</div><h4 id="method.wordlist" class="method"><code>pub fn <a href="#method.wordlist" class="fnname">wordlist</a>(&self) -> &'static WordList</code></h4><div class="docblock"><p>Get the word list for this language</p>
-</div><h4 id="method.wordmap" class="method"><code>pub fn <a href="#method.wordmap" class="fnname">wordmap</a>(&self) -> &'static WordMap</code></h4><div class="docblock"><p>Get a [<code>WordMap</code>][WordMap] that allows word -> index lookups in the word list</p>
+</div><h4 id="method.wordlist" class="method"><code>pub fn <a href="#method.wordlist" class="fnname">wordlist</a>(&self) -> &'static WordList</code><a href="#method.wordlist" class="anchor"></a></h4><div class="docblock"><p>Get the word list for this language</p>
+</div><h4 id="method.wordmap" class="method"><code>pub fn <a href="#method.wordmap" class="fnname">wordmap</a>(&self) -> &'static WordMap</code><a href="#method.wordmap" class="anchor"></a></h4><div class="docblock"><p>Get a [<code>WordMap</code>][WordMap] that allows word -> index lookups in the word list</p>
<p>The index of an individual word in the word list is used as the binary value of that word
when the phrase is turned into a [<code>Seed</code>][Seed].</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Copy" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Default" class="anchor"></a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CLanguage%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-PartialEq%3CLanguage%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Copy" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Default" class="anchor"></a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#method.default" class="anchor"></a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CLanguage%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-PartialEq%3CLanguage%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code><a href="#method.zeroize" class="anchor"></a></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
zeroization operation is not “optimized away” by the compiler. <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Determines the number of words that will be present in a `Mnemonic` phrase"><meta name="keywords" content="rust, rustlang, rust-lang, MnemonicType"><title>bdk::keys::bip39::MnemonicType - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum MnemonicType</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Words12">Words12</a><a href="#variant.Words15">Words15</a><a href="#variant.Words18">Words18</a><a href="#variant.Words21">Words21</a><a href="#variant.Words24">Words24</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.checksum_bits">checksum_bits</a><a href="#method.entropy_bits">entropy_bits</a><a href="#method.for_key_size">for_key_size</a><a href="#method.for_phrase">for_phrase</a><a href="#method.for_word_count">for_word_count</a><a href="#method.total_bits">total_bits</a><a href="#method.word_count">word_count</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Display">Display</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="MnemonicType" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="enum" href="">MnemonicType</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum MnemonicType {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum MnemonicType</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Words12">Words12</a><a href="#variant.Words15">Words15</a><a href="#variant.Words18">Words18</a><a href="#variant.Words21">Words21</a><a href="#variant.Words24">Words24</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.checksum_bits">checksum_bits</a><a href="#method.entropy_bits">entropy_bits</a><a href="#method.for_key_size">for_key_size</a><a href="#method.for_phrase">for_phrase</a><a href="#method.for_word_count">for_word_count</a><a href="#method.total_bits">total_bits</a><a href="#method.word_count">word_count</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Display">Display</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="MnemonicType" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="enum" href="">MnemonicType</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum MnemonicType {
Words12,
Words15,
Words18,
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_key_size</span>(<span class="number">128</span>).<span class="ident">unwrap</span>();</pre></div>
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_key_size</span>(<span class="number">128</span>).<span class="ident">unwrap</span>();</pre></div>
</div><h2 id="variants" class="variants small-section-header">
Variants<a href="#variants" class="anchor"></a></h2>
-<div id="variant.Words12" class="variant small-section-header"><a href="#variant.Words12" class="anchor field"></a><code>Words12</code></div><div id="variant.Words15" class="variant small-section-header"><a href="#variant.Words15" class="anchor field"></a><code>Words15</code></div><div id="variant.Words18" class="variant small-section-header"><a href="#variant.Words18" class="anchor field"></a><code>Words18</code></div><div id="variant.Words21" class="variant small-section-header"><a href="#variant.Words21" class="anchor field"></a><code>Words21</code></div><div id="variant.Words24" class="variant small-section-header"><a href="#variant.Words24" class="anchor field"></a><code>Words24</code></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_word_count" class="method"><code>pub fn <a href="#method.for_word_count" class="fnname">for_word_count</a>(size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for a mnemonic phrase with a specific number of words</p>
+<div id="variant.Words12" class="variant small-section-header"><a href="#variant.Words12" class="anchor field"></a><code>Words12</code></div><div id="variant.Words15" class="variant small-section-header"><a href="#variant.Words15" class="anchor field"></a><code>Words15</code></div><div id="variant.Words18" class="variant small-section-header"><a href="#variant.Words18" class="anchor field"></a><code>Words18</code></div><div id="variant.Words21" class="variant small-section-header"><a href="#variant.Words21" class="anchor field"></a><code>Words21</code></div><div id="variant.Words24" class="variant small-section-header"><a href="#variant.Words24" class="anchor field"></a><code>Words24</code></div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_word_count" class="method"><code>pub fn <a href="#method.for_word_count" class="fnname">for_word_count</a>(size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.for_word_count" class="anchor"></a></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for a mnemonic phrase with a specific number of words</p>
<p>Specifying a word count not provided for by the BIP39 standard will return an <code>Error</code>
of kind <code>ErrorKind::InvalidWordLength</code>.</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_word_count</span>(<span class="number">12</span>).<span class="ident">unwrap</span>();</pre></div>
-</div><h4 id="method.for_key_size" class="method"><code>pub fn <a href="#method.for_key_size" class="fnname">for_key_size</a>(size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for a mnemonic phrase representing the given key size as bits</p>
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_word_count</span>(<span class="number">12</span>).<span class="ident">unwrap</span>();</pre></div>
+</div><h4 id="method.for_key_size" class="method"><code>pub fn <a href="#method.for_key_size" class="fnname">for_key_size</a>(size: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.for_key_size" class="anchor"></a></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for a mnemonic phrase representing the given key size as bits</p>
<p>Specifying a key size not provided for by the BIP39 standard will return an <code>Error</code>
of kind <code>ErrorKind::InvalidKeysize</code>.</p>
<h1 id="example-1" class="section-header"><a href="#example-1">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_key_size</span>(<span class="number">128</span>).<span class="ident">unwrap</span>();</pre></div>
-</div><h4 id="method.for_phrase" class="method"><code>pub fn <a href="#method.for_phrase" class="fnname">for_phrase</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for an existing mnemonic phrase</p>
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_key_size</span>(<span class="number">128</span>).<span class="ident">unwrap</span>();</pre></div>
+</div><h4 id="method.for_phrase" class="method"><code>pub fn <a href="#method.for_phrase" class="fnname">for_phrase</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.for_phrase" class="anchor"></a></h4><div class="docblock"><p>Get a <code>MnemonicType</code> for an existing mnemonic phrase</p>
<p>This can be used when you need information about a mnemonic phrase based on the number of
words, for example you can get the entropy value using <a href="./enum.MnemonicType.html#method.entropy_bits"><code>MnemonicType::entropy_bits</code></a>.</p>
<p>Specifying a phrase that does not match one of the standard BIP39 phrase lengths will return
<span class="kw">let</span> <span class="ident">test_mnemonic</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">entropy_bits</span> <span class="op">=</span> <span class="ident">mnemonic_type</span>.<span class="ident">entropy_bits</span>();</pre></div>
-</div><h4 id="method.total_bits" class="method"><code>pub fn <a href="#method.total_bits" class="fnname">total_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Return the number of entropy+checksum bits</p>
+</div><h4 id="method.total_bits" class="method"><code>pub fn <a href="#method.total_bits" class="fnname">total_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.total_bits" class="anchor"></a></h4><div class="docblock"><p>Return the number of entropy+checksum bits</p>
<h1 id="example-3" class="section-header"><a href="#example-3">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
<span class="kw">let</span> <span class="ident">test_mnemonic</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">total_bits</span> <span class="op">=</span> <span class="ident">mnemonic_type</span>.<span class="ident">total_bits</span>();</pre></div>
-</div><h4 id="method.entropy_bits" class="method"><code>pub fn <a href="#method.entropy_bits" class="fnname">entropy_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Return the number of entropy bits</p>
+</div><h4 id="method.entropy_bits" class="method"><code>pub fn <a href="#method.entropy_bits" class="fnname">entropy_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.entropy_bits" class="anchor"></a></h4><div class="docblock"><p>Return the number of entropy bits</p>
<h1 id="example-4" class="section-header"><a href="#example-4">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
<span class="kw">let</span> <span class="ident">test_mnemonic</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">entropy_bits</span> <span class="op">=</span> <span class="ident">mnemonic_type</span>.<span class="ident">entropy_bits</span>();</pre></div>
-</div><h4 id="method.checksum_bits" class="method"><code>pub fn <a href="#method.checksum_bits" class="fnname">checksum_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></code></h4><div class="docblock"><p>Return the number of checksum bits</p>
+</div><h4 id="method.checksum_bits" class="method"><code>pub fn <a href="#method.checksum_bits" class="fnname">checksum_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a></code><a href="#method.checksum_bits" class="anchor"></a></h4><div class="docblock"><p>Return the number of checksum bits</p>
<h1 id="example-5" class="section-header"><a href="#example-5">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
<span class="kw">let</span> <span class="ident">test_mnemonic</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::for_phrase</span>(<span class="ident">test_mnemonic</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">checksum_bits</span> <span class="op">=</span> <span class="ident">mnemonic_type</span>.<span class="ident">checksum_bits</span>();</pre></div>
-</div><h4 id="method.word_count" class="method"><code>pub fn <a href="#method.word_count" class="fnname">word_count</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Return the number of words</p>
+</div><h4 id="method.word_count" class="method"><code>pub fn <a href="#method.word_count" class="fnname">word_count</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.word_count" class="anchor"></a></h4><div class="docblock"><p>Return the number of words</p>
<h1 id="example-6" class="section-header"><a href="#example-6">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">MnemonicType</span>};
-<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType</span>::<span class="ident">Words12</span>;
+<span class="kw">let</span> <span class="ident">mnemonic_type</span> <span class="op">=</span> <span class="ident">MnemonicType::Words12</span>;
<span class="kw">let</span> <span class="ident">word_count</span> <span class="op">=</span> <span class="ident">mnemonic_type</span>.<span class="ident">word_count</span>();</pre></div>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Copy" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Default" class="anchor"></a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Copy" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Default" class="anchor"></a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#method.default" class="anchor"></a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="BIP-0039"><meta name="keywords" content="rust, rustlang, rust-lang, bip39"><title>bdk::keys::bip39 - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module bip39</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a></p><div id="sidebar-vars" data-name="bip39" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a class="mod" href="">bip39</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#12-190" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>BIP-0039</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module bip39</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a></p><div id="sidebar-vars" data-name="bip39" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a class="mod" href="">bip39</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#12-190" title="goto source code">[src]</a></span></h1><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>BIP-0039</p>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.Mnemonic.html" title="bdk::keys::bip39::Mnemonic struct">Mnemonic</a></td><td class="docblock-short"><p>The primary type in this crate, most tasks require creating or using one.</p>
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Seed.html" title="bdk::keys::bip39::Seed struct">Seed</a></td><td class="docblock-short"><p>The secret value used to derive HD wallet addresses from a <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> phrase.</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="The primary type in this crate, most tasks require creating or using one."><meta name="keywords" content="rust, rustlang, rust-lang, Mnemonic"><title>bdk::keys::bip39::Mnemonic - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Mnemonic</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.entropy">entropy</a><a href="#method.from_entropy">from_entropy</a><a href="#method.from_phrase">from_phrase</a><a href="#method.into_phrase">into_phrase</a><a href="#method.language">language</a><a href="#method.new">new</a><a href="#method.phrase">phrase</a><a href="#method.validate">validate</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3Cstr%3E">AsRef<str></a><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-Display">Display</a><a href="#impl-Drop">Drop</a><a href="#impl-GeneratableKey%3CCtx%3E">GeneratableKey<Ctx></a><a href="#impl-LowerHex">LowerHex</a><a href="#impl-UpperHex">UpperHex</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToHex">ToHex</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Mnemonic" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="struct" href="">Mnemonic</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Mnemonic { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>The primary type in this crate, most tasks require creating or using one.</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Mnemonic</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.entropy">entropy</a><a href="#method.from_entropy">from_entropy</a><a href="#method.from_phrase">from_phrase</a><a href="#method.into_phrase">into_phrase</a><a href="#method.language">language</a><a href="#method.new">new</a><a href="#method.phrase">phrase</a><a href="#method.validate">validate</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3Cstr%3E">AsRef<str></a><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-Display">Display</a><a href="#impl-Drop">Drop</a><a href="#impl-GeneratableKey%3CCtx%3E">GeneratableKey<Ctx></a><a href="#impl-LowerHex">LowerHex</a><a href="#impl-UpperHex">UpperHex</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToHex">ToHex</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Mnemonic" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="struct" href="">Mnemonic</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Mnemonic { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>The primary type in this crate, most tasks require creating or using one.</p>
<p>To create a <em>new</em> <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> from a randomly generated key, call <a href="./mnemonic/struct.Mnemonic.html#method.new"><code>Mnemonic::new()</code></a>.</p>
<p>To get a <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> instance for an existing mnemonic phrase, including
those generated by other software or hardware wallets, use <a href="./mnemonic/struct.Mnemonic.html#method.from_phrase"><code>Mnemonic::from_phrase()</code></a>.</p>
but beware that the entropy value is <strong>not the same thing</strong> as an HD wallet seed, and should
<em>never</em> be used that way.</p>
<p><a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> implements <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="Zeroize"><code>Zeroize</code></a>, so it’s bytes will be zeroed when it’s dropped.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(mtype: <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code></h4><div class="docblock"><p>Generates a new <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a></p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(mtype: <a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#method.new" class="anchor"></a></h4><div class="docblock"><p>Generates a new <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a></p>
<p>Use <a href="./mnemonic/struct.Mnemonic.html#method.phrase"><code>Mnemonic::phrase()</code></a> to get an <code>str</code> slice of the generated phrase.</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">MnemonicType</span>, <span class="ident">Language</span>};
-<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">new</span>(<span class="ident">MnemonicType</span>::<span class="ident">Words12</span>, <span class="ident">Language</span>::<span class="ident">English</span>);
+<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::new</span>(<span class="ident">MnemonicType::Words12</span>, <span class="ident">Language::English</span>);
<span class="kw">let</span> <span class="ident">phrase</span> <span class="op">=</span> <span class="ident">mnemonic</span>.<span class="ident">phrase</span>();
-<span class="macro">println</span><span class="macro">!</span>(<span class="string">"phrase: {}"</span>, <span class="ident">phrase</span>);
+<span class="macro">println!</span>(<span class="string">"phrase: {}"</span>, <span class="ident">phrase</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">phrase</span>.<span class="ident">split</span>(<span class="string">" "</span>).<span class="ident">count</span>(), <span class="number">12</span>);</pre></div>
-</div><h4 id="method.from_entropy" class="method"><code>pub fn <a href="#method.from_entropy" class="fnname">from_entropy</a>(entropy: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Create a <a href="../mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> from pre-generated entropy</p>
+<span class="macro">assert_eq!</span>(<span class="ident">phrase</span>.<span class="ident">split</span>(<span class="string">" "</span>).<span class="ident">count</span>(), <span class="number">12</span>);</pre></div>
+</div><h4 id="method.from_entropy" class="method"><code>pub fn <a href="#method.from_entropy" class="fnname">from_entropy</a>(entropy: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.from_entropy" class="anchor"></a></h4><div class="docblock"><p>Create a <a href="../mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> from pre-generated entropy</p>
<h1 id="example-1" class="section-header"><a href="#example-1">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">MnemonicType</span>, <span class="ident">Language</span>};
<span class="kw">let</span> <span class="ident">entropy</span> <span class="op">=</span> <span class="kw-2">&</span>[<span class="number">0x33</span>, <span class="number">0xE4</span>, <span class="number">0x6B</span>, <span class="number">0xB1</span>, <span class="number">0x3A</span>, <span class="number">0x74</span>, <span class="number">0x6E</span>, <span class="number">0xA4</span>, <span class="number">0x1C</span>, <span class="number">0xDD</span>, <span class="number">0xE4</span>, <span class="number">0x5C</span>, <span class="number">0x90</span>, <span class="number">0x84</span>, <span class="number">0x6A</span>, <span class="number">0x79</span>];
-<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_entropy</span>(<span class="ident">entropy</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_entropy</span>(<span class="ident">entropy</span>, <span class="ident">Language::English</span>).<span class="ident">unwrap</span>();
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">"crop cash unable insane eight faith inflict route frame loud box vibrant"</span>, <span class="ident">mnemonic</span>.<span class="ident">phrase</span>());
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">"33E46BB13A746EA41CDDE45C90846A79"</span>, <span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:X}"</span>, <span class="ident">mnemonic</span>));</pre></div>
-</div><h4 id="method.from_phrase" class="method"><code>pub fn <a href="#method.from_phrase" class="fnname">from_phrase</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Create a <a href="../mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> from an existing mnemonic phrase</p>
+<span class="macro">assert_eq!</span>(<span class="string">"crop cash unable insane eight faith inflict route frame loud box vibrant"</span>, <span class="ident">mnemonic</span>.<span class="ident">phrase</span>());
+<span class="macro">assert_eq!</span>(<span class="string">"33E46BB13A746EA41CDDE45C90846A79"</span>, <span class="macro">format!</span>(<span class="string">"{:X}"</span>, <span class="ident">mnemonic</span>));</pre></div>
+</div><h4 id="method.from_phrase" class="method"><code>pub fn <a href="#method.from_phrase" class="fnname">from_phrase</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.from_phrase" class="anchor"></a></h4><div class="docblock"><p>Create a <a href="../mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> from an existing mnemonic phrase</p>
<p>The phrase supplied will be checked for word length and validated according to the checksum
specified in BIP0039</p>
<h1 id="example-2" class="section-header"><a href="#example-2">Example</a></h1>
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">Language</span>};
<span class="kw">let</span> <span class="ident">phrase</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_phrase</span>(<span class="ident">phrase</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_phrase</span>(<span class="ident">phrase</span>, <span class="ident">Language::English</span>).<span class="ident">unwrap</span>();
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">phrase</span>, <span class="ident">mnemonic</span>.<span class="ident">phrase</span>());</pre></div>
-</div><h4 id="method.validate" class="method"><code>pub fn <a href="#method.validate" class="fnname">validate</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code></h4><div class="docblock"><p>Validate a mnemonic phrase</p>
+<span class="macro">assert_eq!</span>(<span class="ident">phrase</span>, <span class="ident">mnemonic</span>.<span class="ident">phrase</span>());</pre></div>
+</div><h4 id="method.validate" class="method"><code>pub fn <a href="#method.validate" class="fnname">validate</a>(phrase: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, lang: <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://docs.rs/anyhow/1.0.40/anyhow/struct.Error.html" title="struct anyhow::Error">Error</a>></code><a href="#method.validate" class="anchor"></a></h4><div class="docblock"><p>Validate a mnemonic phrase</p>
<p>The phrase supplied will be checked for word length and validated according to the checksum
specified in BIP0039.</p>
<h1 id="example-3" class="section-header"><a href="#example-3">Example</a></h1>
<span class="kw">let</span> <span class="ident">test_mnemonic</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">Mnemonic</span>::<span class="ident">validate</span>(<span class="ident">test_mnemonic</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">is_ok</span>());</pre></div>
-</div><h4 id="method.phrase" class="method"><code>pub fn <a href="#method.phrase" class="fnname">phrase</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code></h4><div class="docblock"><p>Get the mnemonic phrase as a string reference.</p>
-</div><h4 id="method.into_phrase" class="method"><code>pub fn <a href="#method.into_phrase" class="fnname">into_phrase</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></h4><div class="docblock"><p>Consume the <code>Mnemonic</code> and return the phrase as a <code>String</code>.</p>
-</div><h4 id="method.entropy" class="method"><code>pub fn <a href="#method.entropy" class="fnname">entropy</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></h4><div class="docblock"><p>Get the original entropy value of the mnemonic phrase as a slice.</p>
+<span class="macro">assert!</span>(<span class="ident">Mnemonic::validate</span>(<span class="ident">test_mnemonic</span>, <span class="ident">Language::English</span>).<span class="ident">is_ok</span>());</pre></div>
+</div><h4 id="method.phrase" class="method"><code>pub fn <a href="#method.phrase" class="fnname">phrase</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#method.phrase" class="anchor"></a></h4><div class="docblock"><p>Get the mnemonic phrase as a string reference.</p>
+</div><h4 id="method.into_phrase" class="method"><code>pub fn <a href="#method.into_phrase" class="fnname">into_phrase</a>(self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.into_phrase" class="anchor"></a></h4><div class="docblock"><p>Consume the <code>Mnemonic</code> and return the phrase as a <code>String</code>.</p>
+</div><h4 id="method.entropy" class="method"><code>pub fn <a href="#method.entropy" class="fnname">entropy</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a href="#method.entropy" class="anchor"></a></h4><div class="docblock"><p>Get the original entropy value of the mnemonic phrase as a slice.</p>
<h1 id="example-4" class="section-header"><a href="#example-4">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">Language</span>};
<span class="kw">let</span> <span class="ident">phrase</span> <span class="op">=</span> <span class="string">"park remain person kitchen mule spell knee armed position rail grid ankle"</span>;
-<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_phrase</span>(<span class="ident">phrase</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_phrase</span>(<span class="ident">phrase</span>, <span class="ident">Language::English</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">entropy</span>: <span class="kw-2">&</span>[<span class="ident">u8</span>] <span class="op">=</span> <span class="ident">mnemonic</span>.<span class="ident">entropy</span>();</pre></div>
<p><strong>Note:</strong> You shouldn’t use the generated entropy as secrets, for that generate a new
<code>Seed</code> from the <code>Mnemonic</code>.</p>
-</div><h4 id="method.language" class="method"><code>pub fn <a href="#method.language" class="fnname">language</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code></h4><div class="docblock"><p>Get the <a href="../language/struct.Language.html"><code>Language</code></a></p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3Cstr%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-AsRef%3Cstr%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#82-98" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#83-85" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
-</div><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#87-97" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
+</div><h4 id="method.language" class="method"><code>pub fn <a href="#method.language" class="fnname">language</a>(&self) -> <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a></code><a href="#method.language" class="anchor"></a></h4><div class="docblock"><p>Get the <a href="../language/struct.Language.html"><code>Language</code></a></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3Cstr%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-AsRef%3Cstr%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#method.as_ref" class="anchor"></a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-2" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#82-98" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#83-85" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
+</div><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#87-97" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-3" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Drop" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Drop" class="anchor"></a></h3><div class="impl-items"><h4 id="method.drop" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&mut self)</code></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-GeneratableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-GeneratableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#101-116" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy" class="type"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code></h4><div class='docblock'><p>Type specifying the amount of entropy required e.g. <code>[u8;32]</code></p>
-</div><h4 id="associatedtype.Options" class="type"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code></h4><div class='docblock'><p>Extra options required by the <code>generate_with_entropy</code></p>
-</div><h4 id="associatedtype.Error" class="type"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ErrorKind></code></h4><div class='docblock'><p>Returned error in case of failure</p>
-</div><h4 id="method.generate_with_entropy" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.GeneratableKey.html#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> (mnemonic_type, language): Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#107-115" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Generate a key given the extra options and the entropy</p>
-</div><h4 id="method.generate" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.GeneratableKey.html#method.generate" class="fnname">generate</a>(<br> options: Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/keys/mod.rs.html#608-614" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Generate a key given the options with a random entropy</p>
-</div></div><h3 id="impl-LowerHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-LowerHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
-</div></div><h3 id="impl-UpperHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-UpperHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
-</div></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Drop" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Drop" class="anchor"></a></h3><div class="impl-items"><h4 id="method.drop" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&mut self)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-GeneratableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-GeneratableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#101-116" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy" class="type trait-impl"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code><a href="#associatedtype.Entropy" class="anchor"></a></h4><div class='docblock'><p>Type specifying the amount of entropy required e.g. <code>[u8;32]</code></p>
+</div><h4 id="associatedtype.Options" class="type trait-impl"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="enum" href="../../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#associatedtype.Options" class="anchor"></a></h4><div class='docblock'><p>Extra options required by the <code>generate_with_entropy</code></p>
+</div><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ErrorKind></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>Returned error in case of failure</p>
+</div><h4 id="method.generate_with_entropy" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.GeneratableKey.html#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> (mnemonic_type, language): Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a href="#method.generate_with_entropy" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#107-115" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Generate a key given the extra options and the entropy</p>
+</div><h4 id="method.generate" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.GeneratableKey.html#method.generate" class="fnname">generate</a>(<br> options: Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a href="#method.generate" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/mod.rs.html#608-614" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Generate a key given the options with a random entropy</p>
+</div></div><h3 id="impl-LowerHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-LowerHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-3" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-3" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
+</div></div><h3 id="impl-UpperHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-UpperHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
+</div></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code><a href="#method.zeroize" class="anchor"></a></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
zeroization operation is not “optimized away” by the compiler. <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop-1" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToHex" class="impl"><code class="in-band">impl<T> ToHex for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>, </span></code><a href="#impl-ToHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.to_hex" class="method"><code>pub fn <a href="#method.to_hex" class="fnname">to_hex</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></h4><div class="docblock"><p>Outputs the hash in hexadecimal form</p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop-1" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop-1" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToHex" class="impl"><code class="in-band">impl<T> ToHex for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>, </span></code><a href="#impl-ToHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.to_hex" class="method trait-impl"><code>pub fn <a href="#tymethod.to_hex" class="fnname">to_hex</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_hex" class="anchor"></a></h4><div class="docblock"><p>Outputs the hash in hexadecimal form</p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-2" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-2" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-2" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="The secret value used to derive HD wallet addresses from a `Mnemonic` phrase."><meta name="keywords" content="rust, rustlang, rust-lang, Seed"><title>bdk::keys::bip39::Seed - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Seed</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_bytes">as_bytes</a><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3C%5Bu8%5D%3E">AsRef<[u8]></a><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-Drop">Drop</a><a href="#impl-LowerHex">LowerHex</a><a href="#impl-UpperHex">UpperHex</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Base32Len">Base32Len</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E">CheckBase32<Vec<u5, Global>></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToBase32">ToBase32</a><a href="#impl-ToHex">ToHex</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Seed" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="struct" href="">Seed</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Seed { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>The secret value used to derive HD wallet addresses from a <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> phrase.</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Seed</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_bytes">as_bytes</a><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AsRef%3C%5Bu8%5D%3E">AsRef<[u8]></a><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-Drop">Drop</a><a href="#impl-LowerHex">LowerHex</a><a href="#impl-UpperHex">UpperHex</a><a href="#impl-Zeroize">Zeroize</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Base32Len">Base32Len</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E">CheckBase32<Vec<u5, Global>></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToBase32">ToBase32</a><a href="#impl-ToHex">ToHex</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="Seed" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="struct" href="">Seed</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Seed { /* fields omitted */ }</pre></div><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>The secret value used to derive HD wallet addresses from a <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> phrase.</p>
<p>Because it is not possible to create a <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> instance that is invalid, it is
therefore impossible to have a <a href="./seed/struct.Seed.html"><code>Seed</code></a> instance that is invalid. This guarantees that only
a valid, intact mnemonic phrase can be used to derive HD wallet addresses.</p>
HD wallet addresses using another crate (deriving HD wallet addresses is outside the scope of this
crate and the BIP39 standard).</p>
<p><a href="./seed/struct.Seed.html"><code>Seed</code></a> implements <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="Zeroize"><code>Zeroize</code></a>, so it’s bytes will be zeroed when it’s dropped.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(mnemonic: &<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, password: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code></h4><div class="docblock"><p>Generates the seed from the <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> and the password.</p>
-</div><h4 id="method.as_bytes" class="method"><code>pub fn <a href="#method.as_bytes" class="fnname">as_bytes</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></h4><div class="docblock"><p>Get the seed value as a byte slice</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3C%5Bu8%5D%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-AsRef%3C%5Bu8%5D%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#41-57" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#42-44" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
-</div><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#46-56" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(mnemonic: &<a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, password: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#method.new" class="anchor"></a></h4><div class="docblock"><p>Generates the seed from the <a href="./mnemonic/struct.Mnemonic.html"><code>Mnemonic</code></a> and the password.</p>
+</div><h4 id="method.as_bytes" class="method"><code>pub fn <a href="#method.as_bytes" class="fnname">as_bytes</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a href="#method.as_bytes" class="anchor"></a></h4><div class="docblock"><p>Get the seed value as a byte slice</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-AsRef%3C%5Bu8%5D%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-AsRef%3C%5Bu8%5D%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_ref" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html#tymethod.as_ref" class="fnname">as_ref</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a></code><a href="#method.as_ref" class="anchor"></a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#41-57" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#42-44" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
+</div><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#46-56" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key">Read more</a></p>
-</div></div><h3 id="impl-Drop" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Drop" class="anchor"></a></h3><div class="impl-items"><h4 id="method.drop" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&mut self)</code></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-LowerHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-LowerHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
-</div></div><h3 id="impl-UpperHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-UpperHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
-</div></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
+</div></div><h3 id="impl-Drop" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html" title="trait core::ops::drop::Drop">Drop</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Drop" class="anchor"></a></h3><div class="impl-items"><h4 id="method.drop" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop" class="fnname">drop</a>(&mut self)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Executes the destructor for this type. <a href="https://doc.rust-lang.org/nightly/core/ops/drop/trait.Drop.html#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-LowerHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-LowerHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-2" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
+</div></div><h3 id="impl-UpperHex" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-UpperHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter.</p>
+</div></div><h3 id="impl-Zeroize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html" title="trait zeroize::Zeroize">Zeroize</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Zeroize" class="anchor"></a></h3><div class="impl-items"><h4 id="method.zeroize" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize" class="fnname">zeroize</a>(&mut self)</code><a href="#method.zeroize" class="anchor"></a></h4><div class='docblock hidden'><p>Zero out this object from memory using Rust intrinsics which ensure the
zeroization operation is not “optimized away” by the compiler. <a href="https://docs.rs/zeroize/1.2.0/zeroize/trait.Zeroize.html#tymethod.zeroize">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Base32Len" class="impl"><code class="in-band">impl<T> Base32Len for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-Base32Len" class="anchor"></a></h3><div class="impl-items"><h4 id="method.base32_len" class="method hidden"><code>pub fn <a href="#method.base32_len" class="fnname">base32_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Calculate the base32 serialized length</p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="impl"><code class="in-band">impl<'f, T> CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="#associatedtype.Err" class="type">Err</a> = Error</code></h4><div class='docblock'><p>Error type if conversion fails</p>
-</div><h4 id="method.check_base32" class="method hidden"><code>pub fn <a href="#method.check_base32" class="fnname">check_base32</a>(<br> self<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <T as CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>>>::Err></code></h4><div class='docblock hidden'><p>Check if all values are in range and return array-like struct of <code>u5</code> values</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Base32Len" class="impl"><code class="in-band">impl<T> Base32Len for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-Base32Len" class="anchor"></a></h3><div class="impl-items"><h4 id="method.base32_len" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.base32_len" class="fnname">base32_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.base32_len" class="anchor"></a></h4><div class='docblock hidden'><p>Calculate the base32 serialized length</p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="impl"><code class="in-band">impl<'f, T> CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-CheckBase32%3CVec%3Cu5%2C%20Global%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="#associatedtype.Err" class="type">Err</a> = Error</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>Error type if conversion fails</p>
+</div><h4 id="method.check_base32" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_base32" class="fnname">check_base32</a>(<br> self<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <T as CheckBase32<<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>>>::Err></code><a href="#method.check_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Check if all values are in range and return array-like struct of <code>u5</code> values</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop-1" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToBase32" class="impl"><code class="in-band">impl<T> ToBase32 for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-ToBase32" class="anchor"></a></h3><div class="impl-items"><h4 id="method.write_base32" class="method hidden"><code>pub fn <a href="#method.write_base32" class="fnname">write_base32</a><W>(<br> &self, <br> writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>W<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <W as WriteBase32>::Err> <span class="where fmt-newline">where<br> W: WriteBase32, </span></code></h4><div class='docblock hidden'><p>Encode as base32 and write it to the supplied writer
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop-1" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop-1" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToBase32" class="impl"><code class="in-band">impl<T> ToBase32 for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>>, </span></code><a href="#impl-ToBase32" class="anchor"></a></h3><div class="impl-items"><h4 id="method.write_base32" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.write_base32" class="fnname">write_base32</a><W>(<br> &self, <br> writer: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>W<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <W as WriteBase32>::Err> <span class="where fmt-newline">where<br> W: WriteBase32, </span></code><a href="#method.write_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Encode as base32 and write it to the supplied writer
Implementations shouldn’t allocate. <a href="#tymethod.write_base32">Read more</a></p>
-</div><h4 id="method.to_base32" class="method hidden"><code>pub fn <a href="#method.to_base32" class="fnname">to_base32</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></h4><div class='docblock hidden'><p>Convert <code>Self</code> to base32 vector</p>
-</div></div><h3 id="impl-ToHex" class="impl"><code class="in-band">impl<T> ToHex for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>, </span></code><a href="#impl-ToHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.to_hex" class="method"><code>pub fn <a href="#method.to_hex" class="fnname">to_hex</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></h4><div class="docblock"><p>Outputs the hash in hexadecimal form</p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div><h4 id="method.to_base32" class="method hidden trait-impl"><code>pub fn <a href="#method.to_base32" class="fnname">to_base32</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><u5, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code><a href="#method.to_base32" class="anchor"></a></h4><div class='docblock hidden'><p>Convert <code>Self</code> to base32 vector</p>
+</div></div><h3 id="impl-ToHex" class="impl"><code class="in-band">impl<T> ToHex for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a>, </span></code><a href="#impl-ToHex" class="anchor"></a></h3><div class="impl-items"><h4 id="method.to_hex" class="method trait-impl"><code>pub fn <a href="#tymethod.to_hex" class="fnname">to_hex</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_hex" class="anchor"></a></h4><div class="docblock"><p>Outputs the hash in hexadecimal form</p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Type for a BIP39 mnemonic with an optional passphrase"><meta name="keywords" content="rust, rustlang, rust-lang, MnemonicWithPassphrase"><title>bdk::keys::bip39::MnemonicWithPassphrase - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition MnemonicWithPassphrase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="MnemonicWithPassphrase" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="type" href="">MnemonicWithPassphrase</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#38" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type MnemonicWithPassphrase = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>Type for a BIP39 mnemonic with an optional passphrase</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="type" href="../../../bdk/keys/bip39/type.MnemonicWithPassphrase.html" title="type bdk::keys::bip39::MnemonicWithPassphrase">MnemonicWithPassphrase</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#60-79" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#61-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
-</div><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#68-78" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition MnemonicWithPassphrase</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a></p><div id="sidebar-vars" data-name="MnemonicWithPassphrase" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">keys</a>::<wbr><a href="index.html">bip39</a>::<wbr><a class="type" href="">MnemonicWithPassphrase</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#38" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type MnemonicWithPassphrase = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="struct" href="../../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a>, <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</pre><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="docblock"><p>Type for a BIP39 mnemonic with an optional passphrase</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="type" href="../../../bdk/keys/bip39/type.MnemonicWithPassphrase.html" title="type bdk::keys::bip39::MnemonicWithPassphrase">MnemonicWithPassphrase</a></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#60-79" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#61-66" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
+</div><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../../src/bdk/keys/bip39.rs.html#68-78" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path <a href="../../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key">Read more</a></p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Container for public or secret keys"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorKey"><title>bdk::keys::DescriptorKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.from_public">from_public</a><a href="#method.from_secret">from_secret</a><a href="#method.override_valid_networks">override_valid_networks</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#71-76" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.from_public">from_public</a><a href="#method.from_secret">from_secret</a><a href="#method.override_valid_networks">override_valid_networks</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#71-76" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> {
// some variants omitted
}</pre></div><div class="docblock"><p>Container for public or secret keys</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#78-121" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from_public" class="method"><code>pub fn <a href="#method.from_public" class="fnname">from_public</a>(public: <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#80-82" title="goto source code">[src]</a></h4><div class="docblock"><p>Create an instance given a public key and a set of valid networks</p>
-</div><h4 id="method.from_secret" class="method"><code>pub fn <a href="#method.from_secret" class="fnname">from_secret</a>(secret: <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#85-87" title="goto source code">[src]</a></h4><div class="docblock"><p>Create an instance given a secret key and a set of valid networks</p>
-</div><h4 id="method.override_valid_networks" class="method"><code>pub fn <a href="#method.override_valid_networks" class="fnname">override_valid_networks</a>(self, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#90-95" title="goto source code">[src]</a></h4><div class="docblock"><p>Override the computed set of valid networks</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#70" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#70" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#78-121" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from_public" class="method"><code>pub fn <a href="#method.from_public" class="fnname">from_public</a>(public: <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a href="#method.from_public" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#80-82" title="goto source code">[src]</a></h4><div class="docblock"><p>Create an instance given a public key and a set of valid networks</p>
+</div><h4 id="method.from_secret" class="method"><code>pub fn <a href="#method.from_secret" class="fnname">from_secret</a>(secret: <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a href="#method.from_secret" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#85-87" title="goto source code">[src]</a></h4><div class="docblock"><p>Create an instance given a secret key and a set of valid networks</p>
+</div><h4 id="method.override_valid_networks" class="method"><code>pub fn <a href="#method.override_valid_networks" class="fnname">override_valid_networks</a>(self, networks: <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> Self</code><a href="#method.override_valid_networks" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#90-95" title="goto source code">[src]</a></h4><div class="docblock"><p>Override the computed set of valid networks</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#70" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#70" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#794-798" title="goto source code">[src]</a></h3><div class="docblock"><p>The “identity” conversion is used internally by some <code>bdk::fragment</code>s</p>
-</div><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#795-797" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#795-797" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="The MiniscriptKey corresponding to Descriptors. This can either be Single public key or a Xpub"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorPublicKey"><title>bdk::keys::DescriptorPublicKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorPublicKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.SinglePub">SinglePub</a><a href="#variant.XPub">XPub</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.derive">derive</a><a href="#method.derive_public_key">derive_public_key</a><a href="#method.full_derivation_path">full_derivation_path</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.master_fingerprint">master_fingerprint</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-FromStr">FromStr</a><a href="#impl-Hash">Hash</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a><a href="#impl-MiniscriptKey">MiniscriptKey</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptorPublicKey%3E">PartialEq<DescriptorPublicKey></a><a href="#impl-PartialOrd%3CDescriptorPublicKey%3E">PartialOrd<DescriptorPublicKey></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorPublicKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorPublicKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorPublicKey {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorPublicKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.SinglePub">SinglePub</a><a href="#variant.XPub">XPub</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.derive">derive</a><a href="#method.derive_public_key">derive_public_key</a><a href="#method.full_derivation_path">full_derivation_path</a><a href="#method.is_deriveable">is_deriveable</a><a href="#method.master_fingerprint">master_fingerprint</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-FromStr">FromStr</a><a href="#impl-Hash">Hash</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a><a href="#impl-MiniscriptKey">MiniscriptKey</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptorPublicKey%3E">PartialEq<DescriptorPublicKey></a><a href="#impl-PartialOrd%3CDescriptorPublicKey%3E">PartialOrd<DescriptorPublicKey></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorPublicKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorPublicKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorPublicKey {
SinglePub(<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>),
XPub(DescriptorXKey<ExtendedPubKey>),
}</pre></div><div class="docblock"><p>The MiniscriptKey corresponding to Descriptors. This can
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.SinglePub" class="variant small-section-header"><a href="#variant.SinglePub" class="anchor field"></a><code>SinglePub(<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>)</code></div><div class="docblock"><p>Single Public Key</p>
</div><div id="variant.XPub" class="variant small-section-header"><a href="#variant.XPub" class="anchor field"></a><code>XPub(DescriptorXKey<ExtendedPubKey>)</code></div><div class="docblock"><p>Xpub</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.master_fingerprint" class="method"><code>pub fn <a href="#method.master_fingerprint" class="fnname">master_fingerprint</a>(&self) -> Fingerprint</code></h4><div class="docblock"><p>The fingerprint of the master key associated with this key</p>
-</div><h4 id="method.full_derivation_path" class="method"><code>pub fn <a href="#method.full_derivation_path" class="fnname">full_derivation_path</a>(&self) -> DerivationPath</code></h4><div class="docblock"><p>Full path, from the master key</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.master_fingerprint" class="method"><code>pub fn <a href="#method.master_fingerprint" class="fnname">master_fingerprint</a>(&self) -> Fingerprint</code><a href="#method.master_fingerprint" class="anchor"></a></h4><div class="docblock"><p>The fingerprint of the master key associated with this key</p>
+</div><h4 id="method.full_derivation_path" class="method"><code>pub fn <a href="#method.full_derivation_path" class="fnname">full_derivation_path</a>(&self) -> DerivationPath</code><a href="#method.full_derivation_path" class="anchor"></a></h4><div class="docblock"><p>Full path, from the master key</p>
<p>For wildcard keys this will return the path up to the wildcard, so you
can get full paths by appending one additional derivation step, according
to the wildcard type (hardened or normal)</p>
-</div><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class="docblock"><p>Whether or not the key has a wildcards</p>
-</div><h4 id="method.derive" class="method"><code>pub fn <a href="#method.derive" class="fnname">derive</a>(self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code></h4><div class="docblock"><p>If this public key has a wildcard, replace it by the given index</p>
+</div><h4 id="method.is_deriveable" class="method"><code>pub fn <a href="#method.is_deriveable" class="fnname">is_deriveable</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_deriveable" class="anchor"></a></h4><div class="docblock"><p>Whether or not the key has a wildcards</p>
+</div><h4 id="method.derive" class="method"><code>pub fn <a href="#method.derive" class="fnname">derive</a>(self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#method.derive" class="anchor"></a></h4><div class="docblock"><p>If this public key has a wildcard, replace it by the given index</p>
<p>Panics if given an index ≥ 2^31</p>
-</div><h4 id="method.derive_public_key" class="method"><code>pub fn <a href="#method.derive_public_key" class="fnname">derive_public_key</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><PublicKey, ConversionError> <span class="where fmt-newline">where<br> C: Verification, </span></code></h4><div class="docblock"><p>Computes the public key corresponding to this descriptor key</p>
+</div><h4 id="method.derive_public_key" class="method"><code>pub fn <a href="#method.derive_public_key" class="fnname">derive_public_key</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><PublicKey, ConversionError> <span class="where fmt-newline">where<br> C: Verification, </span></code><a href="#method.derive_public_key" class="anchor"></a></h4><div class="docblock"><p>Computes the public key corresponding to this descriptor key</p>
<p>Will return an error if the descriptor key has any hardened
derivation steps in its path, or if the key has any wildcards.</p>
<p>To ensure there are no wildcards, call <code>.derive(0)</code> or similar;
to avoid hardened derivation steps, start from a <code>DescriptorSecretKey</code>
and call <code>as_public</code>, or call <code>TranslatePk2::translate_pk2</code> with
some function which has access to secret key data.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = DescriptorKeyParseError</code></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
-</div><h4 id="method.from_str" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(<br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
-</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#800-814" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#801-813" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
-</div></div><h3 id="impl-MiniscriptKey" class="impl"><code class="in-band">impl MiniscriptKey for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-MiniscriptKey" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Hash" class="type"><code>type <a href="#associatedtype.Hash" class="type">Hash</a> = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code></h4><div class='docblock'><p>The associated Hash type with the publicKey</p>
-</div><h4 id="method.is_uncompressed" class="method hidden"><code>pub fn <a href="#method.is_uncompressed" class="fnname">is_uncompressed</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>Check if the publicKey is uncompressed. The default
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = DescriptorKeyParseError</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
+</div><h4 id="method.from_str" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(<br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code><a href="#method.from_str" class="anchor"></a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
+</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><a href="#method.hash" class="anchor"></a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#800-814" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#801-813" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
+</div></div><h3 id="impl-MiniscriptKey" class="impl"><code class="in-band">impl MiniscriptKey for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-MiniscriptKey" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Hash" class="type trait-impl"><code>type <a href="#associatedtype.Hash" class="type">Hash</a> = <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#associatedtype.Hash" class="anchor"></a></h4><div class='docblock'><p>The associated Hash type with the publicKey</p>
+</div><h4 id="method.is_uncompressed" class="method hidden trait-impl"><code>pub fn <a href="#method.is_uncompressed" class="fnname">is_uncompressed</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_uncompressed" class="anchor"></a></h4><div class='docblock hidden'><p>Check if the publicKey is uncompressed. The default
implementation returns false <a href="#method.is_uncompressed">Read more</a></p>
-</div><h4 id="method.to_pubkeyhash" class="method hidden"><code>pub fn <a href="#method.to_pubkeyhash" class="fnname">to_pubkeyhash</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code></h4><div class='docblock hidden'><p>Converts an object to PublicHash</p>
-</div><h4 id="method.serialized_len" class="method hidden"><code>pub fn <a href="#method.serialized_len" class="fnname">serialized_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Computes the size of a public key when serialized in a script,
+</div><h4 id="method.to_pubkeyhash" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.to_pubkeyhash" class="fnname">to_pubkeyhash</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#method.to_pubkeyhash" class="anchor"></a></h4><div class='docblock hidden'><p>Converts an object to PublicHash</p>
+</div><h4 id="method.serialized_len" class="method hidden trait-impl"><code>pub fn <a href="#method.serialized_len" class="fnname">serialized_len</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.serialized_len" class="anchor"></a></h4><div class='docblock hidden'><p>Computes the size of a public key when serialized in a script,
including the length bytes <a href="#method.serialized_len">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CDescriptorPublicKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-PartialEq%3CDescriptorPublicKey%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CDescriptorPublicKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-PartialEq%3CDescriptorPublicKey%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CDescriptorPublicKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-PartialOrd%3CDescriptorPublicKey%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CDescriptorPublicKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-PartialOrd%3CDescriptorPublicKey%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="A Secret Key that can be either a single key or an Xprv"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorSecretKey"><title>bdk::keys::DescriptorSecretKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorSecretKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.SinglePriv">SinglePriv</a><a href="#variant.XPrv">XPrv</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_public">as_public</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-FromStr">FromStr</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSecretKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorSecretKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorSecretKey {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum DescriptorSecretKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.SinglePriv">SinglePriv</a><a href="#variant.XPrv">XPrv</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_public">as_public</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-FromStr">FromStr</a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSecretKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">DescriptorSecretKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum DescriptorSecretKey {
SinglePriv(<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a>),
XPrv(DescriptorXKey<ExtendedPrivKey>),
}</pre></div><div class="docblock"><p>A Secret Key that can be either a single key or an Xprv</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.SinglePriv" class="variant small-section-header"><a href="#variant.SinglePriv" class="anchor field"></a><code>SinglePriv(<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a>)</code></div><div class="docblock"><p>Single Secret Key</p>
</div><div id="variant.XPrv" class="variant small-section-header"><a href="#variant.XPrv" class="anchor field"></a><code>XPrv(DescriptorXKey<ExtendedPrivKey>)</code></div><div class="docblock"><p>Xprv</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_public" class="method"><code>pub fn <a href="#method.as_public" class="fnname">as_public</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, DescriptorKeyParseError> <span class="where fmt-newline">where<br> C: Signing, </span></code></h4><div class="docblock"><p>Return the public version of this key, by applying either
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.as_public" class="method"><code>pub fn <a href="#method.as_public" class="fnname">as_public</a><C>(<br> &self, <br> secp: &Secp256k1<C><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, DescriptorKeyParseError> <span class="where fmt-newline">where<br> C: Signing, </span></code><a href="#method.as_public" class="anchor"></a></h4><div class="docblock"><p>Return the public version of this key, by applying either
<a href="../../bdk/keys/struct.DescriptorSinglePriv.html#method.as_public" title="DescriptorSinglePriv::as_public"><code>DescriptorSinglePriv::as_public</code></a> or [<code>DescriptorXKey<bip32::ExtendedPrivKey>::as_public</code>]
depending on the type of key.</p>
<p>If the key is an “XPrv”, the hardened derivation steps will be applied before converting it
to a public key. See the documentation of [<code>DescriptorXKey<bip32::ExtendedPrivKey>::as_public</code>]
for more details.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = DescriptorKeyParseError</code></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
-</div><h4 id="method.from_str" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(<br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <<a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
-</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#826-842" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#827-841" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-FromStr" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = DescriptorKeyParseError</code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
+</div><h4 id="method.from_str" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(<br> s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <<a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a> as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code><a href="#method.from_str" class="anchor"></a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
+</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#826-842" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#827-841" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Enum for extended keys that can be either `xprv` or `xpub`"><meta name="keywords" content="rust, rustlang, rust-lang, ExtendedKey"><title>bdk::keys::ExtendedKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ExtendedKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Private">Private</a><a href="#variant.Public">Public</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.has_secret">has_secret</a><a href="#method.into_xprv">into_xprv</a><a href="#method.into_xpub">into_xpub</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-From%3CExtendedPrivKey%3E">From<ExtendedPrivKey></a><a href="#impl-From%3CExtendedPubKey%3E">From<ExtendedPubKey></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ExtendedKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">ExtendedKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#300-305" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ExtendedKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> = <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ExtendedKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Private">Private</a><a href="#variant.Public">Public</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.has_secret">has_secret</a><a href="#method.into_xprv">into_xprv</a><a href="#method.into_xpub">into_xpub</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-From%3CExtendedPrivKey%3E">From<ExtendedPrivKey></a><a href="#impl-From%3CExtendedPubKey%3E">From<ExtendedPubKey></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ExtendedKey" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">ExtendedKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#300-305" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ExtendedKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> = <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>> {
Private(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>ExtendedPrivKey, <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><Ctx><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>),
Public(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>ExtendedPubKey, <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><Ctx><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>),
}</pre></div><div class="docblock"><p>Enum for extended keys that can be either <code>xprv</code> or <code>xpub</code></p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.Private" class="variant small-section-header"><a href="#variant.Private" class="anchor field"></a><code>Private(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>ExtendedPrivKey, <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><Ctx><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>)</code></div><div class="docblock"><p>A private extended key, aka an <code>xprv</code></p>
</div><div id="variant.Public" class="variant small-section-header"><a href="#variant.Public" class="anchor field"></a><code>Public(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>ExtendedPubKey, <a class="struct" href="https://doc.rust-lang.org/nightly/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><Ctx><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>)</code></div><div class="docblock"><p>A public extended key, aka an <code>xpub</code></p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#307-343" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.has_secret" class="method"><code>pub fn <a href="#method.has_secret" class="fnname">has_secret</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#309-314" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the key contains the private data</p>
-</div><h4 id="method.into_xprv" class="method"><code>pub fn <a href="#method.into_xprv" class="fnname">into_xprv</a>(self, network: Network) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ExtendedPrivKey></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#318-326" title="goto source code">[src]</a></h4><div class="docblock"><p>Transform the <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> into an <a href="bip32::ExtendedPrivKey"><code>ExtendedPrivKey</code></a> for the
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#307-343" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.has_secret" class="method"><code>pub fn <a href="#method.has_secret" class="fnname">has_secret</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.has_secret" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#309-314" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not the key contains the private data</p>
+</div><h4 id="method.into_xprv" class="method"><code>pub fn <a href="#method.into_xprv" class="fnname">into_xprv</a>(self, network: Network) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ExtendedPrivKey></code><a href="#method.into_xprv" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#318-326" title="goto source code">[src]</a></h4><div class="docblock"><p>Transform the <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> into an <a href="bip32::ExtendedPrivKey"><code>ExtendedPrivKey</code></a> for the
given [<code>Network</code>], if the key contains the private data</p>
-</div><h4 id="method.into_xpub" class="method"><code>pub fn <a href="#method.into_xpub" class="fnname">into_xpub</a><C: Signing>(<br> self, <br> network: Network, <br> secp: &Secp256k1<C><br>) -> ExtendedPubKey</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#330-342" title="goto source code">[src]</a></h4><div class="docblock"><p>Transform the <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> into an <a href="bip32::ExtendedPubKey"><code>ExtendedPubKey</code></a> for the
+</div><h4 id="method.into_xpub" class="method"><code>pub fn <a href="#method.into_xpub" class="fnname">into_xpub</a><C: Signing>(<br> self, <br> network: Network, <br> secp: &Secp256k1<C><br>) -> ExtendedPubKey</code><a href="#method.into_xpub" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#330-342" title="goto source code">[src]</a></h4><div class="docblock"><p>Transform the <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> into an <a href="bip32::ExtendedPubKey"><code>ExtendedPubKey</code></a> for the
given [<code>Network</code>]</p>
</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#502-506" title="goto source code">[src]</a></h3><div class="docblock"><p>Identity conversion</p>
-</div><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#503-505" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
-</div><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#477-498" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
+</div><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#503-505" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
+</div><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#477-498" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key">Read more</a></p>
-</div></div><h3 id="impl-From%3CExtendedPrivKey%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><ExtendedPrivKey> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-From%3CExtendedPrivKey%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#351-355" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(xprv: ExtendedPrivKey) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#352-354" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CExtendedPubKey%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><ExtendedPubKey> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-From%3CExtendedPubKey%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#345-349" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(xpub: ExtendedPubKey) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#346-348" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-From%3CExtendedPrivKey%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><ExtendedPrivKey> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-From%3CExtendedPrivKey%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#351-355" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(xprv: ExtendedPrivKey) -> Self</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#352-354" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CExtendedPubKey%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><ExtendedPubKey> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-From%3CExtendedPubKey%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#345-349" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(xpub: ExtendedPubKey) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#346-348" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Errors thrown while working with `keys`"><meta name="keywords" content="rust, rustlang, rust-lang, KeyError"><title>bdk::keys::KeyError - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum KeyError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip32">Bip32</a><a href="#variant.InvalidChecksum">InvalidChecksum</a><a href="#variant.InvalidNetwork">InvalidNetwork</a><a href="#variant.InvalidScriptContext">InvalidScriptContext</a><a href="#variant.Message">Message</a><a href="#variant.Miniscript">Miniscript</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="KeyError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">KeyError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#864-879" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum KeyError {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum KeyError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip32">Bip32</a><a href="#variant.InvalidChecksum">InvalidChecksum</a><a href="#variant.InvalidNetwork">InvalidNetwork</a><a href="#variant.InvalidScriptContext">InvalidScriptContext</a><a href="#variant.Message">Message</a><a href="#variant.Miniscript">Miniscript</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Error">Error</a><a href="#impl-From%3CError%3E">From<Error></a><a href="#impl-From%3CKeyError%3E">From<KeyError></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="KeyError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">KeyError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#864-879" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum KeyError {
InvalidScriptContext,
InvalidNetwork,
InvalidChecksum,
</div><div id="variant.Message" class="variant small-section-header"><a href="#variant.Message" class="anchor field"></a><code>Message(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)</code></div><div class="docblock"><p>Custom error message</p>
</div><div id="variant.Bip32" class="variant small-section-header"><a href="#variant.Bip32" class="anchor field"></a><code>Bip32(Error)</code></div><div class="docblock"><p>BIP32 error</p>
</div><div id="variant.Miniscript" class="variant small-section-header"><a href="#variant.Miniscript" class="anchor field"></a><code>Miniscript(Error)</code></div><div class="docblock"><p>Miniscript error</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#863" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#863" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#884-888" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#885-887" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#890" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#881" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#881" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#882" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#882" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/error.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a class="srclink" href="../../src/bdk/error.rs.html#158-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CKeyError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CKeyError%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/error.rs.html#46-54" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a class="srclink" href="../../src/bdk/descriptor/error.rs.html#47-53" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#863" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#863" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#884-888" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#885-887" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#890" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-From%3CError%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#881" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#881" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Error> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-From%3CError%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#882" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-3" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: Error) -> Self</code><a href="#method.from-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#882" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CKeyError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CKeyError%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/error.rs.html#157-166" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../src/bdk/error.rs.html#158-165" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CKeyError%3E-1" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> for <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#impl-From%3CKeyError%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/error.rs.html#46-54" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(key_error: <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>) -> <a class="enum" href="../../bdk/descriptor/error/enum.Error.html" title="enum bdk::descriptor::error::Error">Error</a></code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../src/bdk/descriptor/error.rs.html#47-53" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-4" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-4" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Enum representation of the known valid [`ScriptContext`]s"><meta name="keywords" content="rust, rustlang, rust-lang, ScriptContextEnum"><title>bdk::keys::ScriptContextEnum - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ScriptContextEnum</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Legacy">Legacy</a><a href="#variant.Segwitv0">Segwitv0</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_legacy">is_legacy</a><a href="#method.is_segwit_v0">is_segwit_v0</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CScriptContextEnum%3E">PartialEq<ScriptContextEnum></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ScriptContextEnum" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">ScriptContextEnum</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#125-130" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ScriptContextEnum {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ScriptContextEnum</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Legacy">Legacy</a><a href="#variant.Segwitv0">Segwitv0</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.is_legacy">is_legacy</a><a href="#method.is_segwit_v0">is_segwit_v0</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CScriptContextEnum%3E">PartialEq<ScriptContextEnum></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ScriptContextEnum" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="enum" href="">ScriptContextEnum</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#125-130" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ScriptContextEnum {
Legacy,
Segwitv0,
}</pre></div><div class="docblock"><p>Enum representation of the known valid <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a>s</p>
Variants<a href="#variants" class="anchor"></a></h2>
<div id="variant.Legacy" class="variant small-section-header"><a href="#variant.Legacy" class="anchor field"></a><code>Legacy</code></div><div class="docblock"><p>Legacy scripts</p>
</div><div id="variant.Segwitv0" class="variant small-section-header"><a href="#variant.Segwitv0" class="anchor field"></a><code>Segwitv0</code></div><div class="docblock"><p>Segwitv0 scripts</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#132-142" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_legacy" class="method"><code>pub fn <a href="#method.is_legacy" class="fnname">is_legacy</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#134-136" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/keys/enum.ScriptContextEnum.html#variant.Legacy" title="ScriptContextEnum::Legacy"><code>ScriptContextEnum::Legacy</code></a></p>
-</div><h4 id="method.is_segwit_v0" class="method"><code>pub fn <a href="#method.is_segwit_v0" class="fnname">is_segwit_v0</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#139-141" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/keys/enum.ScriptContextEnum.html#variant.Segwitv0" title="ScriptContextEnum::Segwitv0"><code>ScriptContextEnum::Segwitv0</code></a></p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CScriptContextEnum%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a>> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-PartialEq%3CScriptContextEnum%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#132-142" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_legacy" class="method"><code>pub fn <a href="#method.is_legacy" class="fnname">is_legacy</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_legacy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#134-136" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/keys/enum.ScriptContextEnum.html#variant.Legacy" title="ScriptContextEnum::Legacy"><code>ScriptContextEnum::Legacy</code></a></p>
+</div><h4 id="method.is_segwit_v0" class="method"><code>pub fn <a href="#method.is_segwit_v0" class="fnname">is_segwit_v0</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_segwit_v0" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#139-141" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/keys/enum.ScriptContextEnum.html#variant.Segwitv0" title="ScriptContextEnum::Segwitv0"><code>ScriptContextEnum::Segwitv0</code></a></p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CScriptContextEnum%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a>> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-PartialEq%3CScriptContextEnum%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#124" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Create a set containing mainnet, testnet and regtest"><meta name="keywords" content="rust, rustlang, rust-lang, any_network"><title>bdk::keys::any_network - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="any_network" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">any_network</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#44-53" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn any_network() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set containing mainnet, testnet and regtest</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="any_network" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">any_network</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#44-53" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn any_network() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set containing mainnet, testnet and regtest</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Create a set only containing mainnet"><meta name="keywords" content="rust, rustlang, rust-lang, mainnet_network"><title>bdk::keys::mainnet_network - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="mainnet_network" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">mainnet_network</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#55-57" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn mainnet_network() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set only containing mainnet</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="mainnet_network" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">mainnet_network</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#55-57" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn mainnet_network() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set only containing mainnet</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Compute the intersection of two sets"><meta name="keywords" content="rust, rustlang, rust-lang, merge_networks"><title>bdk::keys::merge_networks - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="merge_networks" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">merge_networks</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#65-67" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn merge_networks(a: &<a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>, b: &<a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Compute the intersection of two sets</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="merge_networks" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">merge_networks</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#65-67" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn merge_networks(a: &<a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>, b: &<a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a>) -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Compute the intersection of two sets</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Create a set containing testnet and regtest"><meta name="keywords" content="rust, rustlang, rust-lang, test_networks"><title>bdk::keys::test_networks - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="test_networks" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">test_networks</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#59-63" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn test_networks() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set containing testnet and regtest</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="test_networks" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="fn" href="">test_networks</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#59-63" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn test_networks() -> <a class="type" href="../../bdk/keys/type.ValidNetworks.html" title="type bdk::keys::ValidNetworks">ValidNetworks</a></pre><div class="docblock"><p>Create a set containing testnet and regtest</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Key formats"><meta name="keywords" content="rust, rustlang, rust-lang, keys"><title>bdk::keys - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module keys</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="keys" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">keys</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#12-920" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Key formats</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module keys</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="keys" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">keys</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#12-920" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Key formats</p>
</div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<table><tr class="module-item"><td><a class="mod" href="bip39/index.html" title="bdk::keys::bip39 mod">bip39</a></td><td class="docblock-short"><span class="stab portability" title="This is supported on crate feature `keys-bip39` only"><code>keys-bip39</code></span><p>BIP-0039</p>
</td></tr></table><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!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="A Single Descriptor Secret Key with optional origin information"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorSinglePriv"><title>bdk::keys::DescriptorSinglePriv - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DescriptorSinglePriv</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.key">key</a><a href="#structfield.origin">origin</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSinglePriv" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">DescriptorSinglePriv</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DescriptorSinglePriv {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DescriptorSinglePriv</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.key">key</a><a href="#structfield.origin">origin</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSinglePriv" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">DescriptorSinglePriv</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DescriptorSinglePriv {
pub origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Fingerprint, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>,
pub key: PrivateKey,
}</pre></div><div class="docblock"><p>A Single Descriptor Secret Key with optional origin information</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.origin" class="structfield small-section-header"><a href="#structfield.origin" class="anchor field"></a><code>origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Fingerprint, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code></span><div class="docblock"><p>Origin information</p>
</div><span id="structfield.key" class="structfield small-section-header"><a href="#structfield.key" class="anchor field"></a><code>key: PrivateKey</code></span><div class="docblock"><p>The key</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePriv.html" title="struct bdk::keys::DescriptorSinglePriv">DescriptorSinglePriv</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="A Single Descriptor Key with optional origin information"><meta name="keywords" content="rust, rustlang, rust-lang, DescriptorSinglePub"><title>bdk::keys::DescriptorSinglePub - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DescriptorSinglePub</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.key">key</a><a href="#structfield.origin">origin</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptorSinglePub%3E">PartialEq<DescriptorSinglePub></a><a href="#impl-PartialOrd%3CDescriptorSinglePub%3E">PartialOrd<DescriptorSinglePub></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSinglePub" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">DescriptorSinglePub</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DescriptorSinglePub {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct DescriptorSinglePub</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.key">key</a><a href="#structfield.origin">origin</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CDescriptorSinglePub%3E">PartialEq<DescriptorSinglePub></a><a href="#impl-PartialOrd%3CDescriptorSinglePub%3E">PartialOrd<DescriptorSinglePub></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DescriptorSinglePub" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">DescriptorSinglePub</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct DescriptorSinglePub {
pub origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Fingerprint, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>,
pub key: PublicKey,
}</pre></div><div class="docblock"><p>A Single Descriptor Key with optional origin information</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.origin" class="structfield small-section-header"><a href="#structfield.origin" class="anchor field"></a><code>origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Fingerprint, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>></code></span><div class="docblock"><p>Origin information</p>
</div><span id="structfield.key" class="structfield small-section-header"><a href="#structfield.key" class="anchor field"></a><code>key: PublicKey</code></span><div class="docblock"><p>The key</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CDescriptorSinglePub%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-PartialEq%3CDescriptorSinglePub%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Hash" class="anchor"></a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H) <span class="where fmt-newline">where<br> __H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><a href="#method.hash" class="anchor"></a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CDescriptorSinglePub%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-PartialEq%3CDescriptorSinglePub%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CDescriptorSinglePub%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-PartialOrd%3CDescriptorSinglePub%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CDescriptorSinglePub%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-PartialOrd%3CDescriptorSinglePub%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.DescriptorSinglePub.html" title="struct bdk::keys::DescriptorSinglePub">DescriptorSinglePub</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Output of a [`GeneratableKey`] key generation"><meta name="keywords" content="rust, rustlang, rust-lang, GeneratedKey"><title>bdk::keys::GeneratedKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct GeneratedKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.into_key">into_key</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Deref">Deref</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratedKey" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">GeneratedKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#521-525" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct GeneratedKey<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> { /* fields omitted */ }</pre></div><div class="docblock"><p>Output of a <a href="../../bdk/keys/trait.GeneratableKey.html" title="GeneratableKey"><code>GeneratableKey</code></a> key generation</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#527-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_key" class="method"><code>pub fn <a href="#method.into_key" class="fnname">into_key</a>(self) -> K</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#537-539" title="goto source code">[src]</a></h4><div class="docblock"><p>Consumes <code>self</code> and returns the key</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Deref" class="impl"><code class="in-band">impl<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx></code><a href="#impl-Deref" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#542-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Target" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="type">Target</a> = K</code></h4><div class='docblock'><p>The resulting type after dereferencing.</p>
-</div><h4 id="method.deref" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&self) -> &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#545-547" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Dereferences the value.</p>
-</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>, </span></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#552-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#557-559" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
-</div><h4 id="method.into_descriptor_key-1" class="method hidden"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#561-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct GeneratedKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.into_key">into_key</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Deref">Deref</a><a href="#impl-DerivableKey%3CCtx%3E">DerivableKey<Ctx></a><a href="#impl-IntoDescriptorKey%3CCtx%3E">IntoDescriptorKey<Ctx></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratedKey" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">GeneratedKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#521-525" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct GeneratedKey<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> { /* fields omitted */ }</pre></div><div class="docblock"><p>Output of a <a href="../../bdk/keys/trait.GeneratableKey.html" title="GeneratableKey"><code>GeneratableKey</code></a> key generation</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#527-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_key" class="method"><code>pub fn <a href="#method.into_key" class="fnname">into_key</a>(self) -> K</code><a href="#method.into_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#537-539" title="goto source code">[src]</a></h4><div class="docblock"><p>Consumes <code>self</code> and returns the key</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Deref" class="impl"><code class="in-band">impl<K, Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx></code><a href="#impl-Deref" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#542-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Target" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="type">Target</a> = K</code><a href="#associatedtype.Target" class="anchor"></a></h4><div class='docblock'><p>The resulting type after dereferencing.</p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&self) -> &Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" title="type core::ops::deref::Deref::Target">Target</a></code><a href="#method.deref" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#545-547" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Dereferences the value.</p>
+</div></div><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>, </span></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#552-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#557-559" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into an <a href="../../bdk/keys/enum.ExtendedKey.html" title="ExtendedKey"><code>ExtendedKey</code></a> <a href="../../bdk/keys/trait.DerivableKey.html#tymethod.into_extended_key">Read more</a></p>
+</div><h4 id="method.into_descriptor_key-1" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#561-568" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Consume <code>self</code> and turn it into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path <a href="../../bdk/keys/trait.DerivableKey.html#method.into_descriptor_key">Read more</a></p>
-</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx>, </span></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#573-582" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#578-581" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx>, </span></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#573-582" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="../../bdk/keys/trait.IntoDescriptorKey.html#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#578-581" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<K, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref-1" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref-1" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref-1" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Options for generating a [`PrivateKey`]"><meta name="keywords" content="rust, rustlang, rust-lang, PrivateKeyGenerateOptions"><title>bdk::keys::PrivateKeyGenerateOptions - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PrivateKeyGenerateOptions</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.compressed">compressed</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="PrivateKeyGenerateOptions" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">PrivateKeyGenerateOptions</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#668-671" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PrivateKeyGenerateOptions {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct PrivateKeyGenerateOptions</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.compressed">compressed</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="PrivateKeyGenerateOptions" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">PrivateKeyGenerateOptions</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#668-671" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct PrivateKeyGenerateOptions {
pub compressed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
}</pre></div><div class="docblock"><p>Options for generating a [<code>PrivateKey</code>]</p>
<p>Defaults to creating compressed keys, which save on-chain bytes and fees</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.compressed" class="structfield small-section-header"><a href="#structfield.compressed" class="anchor field"></a><code>compressed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></span><div class="docblock"><p>Whether the generated key should be “compressed” or not</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#673-677" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#674-676" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#667" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#673-677" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#674-676" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Contents of a “sortedmulti” descriptor"><meta name="keywords" content="rust, rustlang, rust-lang, SortedMultiVec"><title>bdk::keys::SortedMultiVec - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SortedMultiVec</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.k">k</a><a href="#structfield.pks">pks</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.encode">encode</a><a href="#method.from_tree">from_tree</a><a href="#method.max_satisfaction_size">max_satisfaction_size</a><a href="#method.max_satisfaction_witness_elements">max_satisfaction_witness_elements</a><a href="#method.new">new</a><a href="#method.sanity_check">sanity_check</a><a href="#method.satisfy">satisfy</a><a href="#method.script_size">script_size</a><a href="#method.sorted_node">sorted_node</a><a href="#method.translate_pk">translate_pk</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E">PartialEq<SortedMultiVec<Pk, Ctx>></a><a href="#impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E">PartialOrd<SortedMultiVec<Pk, Ctx>></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="SortedMultiVec" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">SortedMultiVec</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SortedMultiVec<Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SortedMultiVec</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.k">k</a><a href="#structfield.pks">pks</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.encode">encode</a><a href="#method.from_tree">from_tree</a><a href="#method.max_satisfaction_size">max_satisfaction_size</a><a href="#method.max_satisfaction_witness_elements">max_satisfaction_witness_elements</a><a href="#method.new">new</a><a href="#method.sanity_check">sanity_check</a><a href="#method.satisfy">satisfy</a><a href="#method.script_size">script_size</a><a href="#method.sorted_node">sorted_node</a><a href="#method.translate_pk">translate_pk</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-ForEachKey%3CPk%3E">ForEachKey<Pk></a><a href="#impl-Liftable%3CPk%3E">Liftable<Pk></a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E">PartialEq<SortedMultiVec<Pk, Ctx>></a><a href="#impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E">PartialOrd<SortedMultiVec<Pk, Ctx>></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="SortedMultiVec" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="struct" href="">SortedMultiVec</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SortedMultiVec<Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span> {
pub k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
pub pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>,
// some fields omitted
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.k" class="structfield small-section-header"><a href="#structfield.k" class="anchor field"></a><code>k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class="docblock"><p>signatures required</p>
</div><span id="structfield.pks" class="structfield small-section-header"><a href="#structfield.pks" class="anchor field"></a><code>pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></code></span><div class="docblock"><p>public keys inside sorted Multi</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>, Error></code></h4><div class="docblock"><p>Create a new instance of <code>SortedMultiVec</code> given a list of keys and the threshold</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl" class="anchor"></a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(<br> k: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br> pks: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><Pk, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>, Error></code><a href="#method.new" class="anchor"></a></h4><div class="docblock"><p>Create a new instance of <code>SortedMultiVec</code> given a list of keys and the threshold</p>
<p>Internally checks all the applicable size limits and pubkey types limitations according to the current <code>Ctx</code>.</p>
-</div><h4 id="method.from_tree" class="method"><code>pub fn <a href="#method.from_tree" class="fnname">from_tree</a>(tree: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>, Error> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code></h4><div class="docblock"><p>Parse an expression tree into a SortedMultiVec</p>
-</div><h4 id="method.translate_pk" class="method"><code>pub fn <a href="#method.translate_pk" class="fnname">translate_pk</a><FPk, Q, FuncError>(<br> &self, <br> translatefpk: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>FPk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Q, Ctx>, FuncError> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> FPk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, FuncError>, </span></code></h4><div class="docblock"><p>This will panic if translatefpk returns an uncompressed key when
+</div><h4 id="method.from_tree" class="method"><code>pub fn <a href="#method.from_tree" class="fnname">from_tree</a>(tree: &Tree<'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>, Error> <span class="where fmt-newline">where<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>,<br> <Pk as <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a>, </span></code><a href="#method.from_tree" class="anchor"></a></h4><div class="docblock"><p>Parse an expression tree into a SortedMultiVec</p>
+</div><h4 id="method.translate_pk" class="method"><code>pub fn <a href="#method.translate_pk" class="fnname">translate_pk</a><FPk, Q, FuncError>(<br> &self, <br> translatefpk: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>FPk<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Q, Ctx>, FuncError> <span class="where fmt-newline">where<br> Q: MiniscriptKey,<br> FPk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Pk) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Q, FuncError>, </span></code><a href="#method.translate_pk" class="anchor"></a></h4><div class="docblock"><p>This will panic if translatefpk returns an uncompressed key when
converting to a Segwit descriptor. To prevent this panic, ensure
translatefpk returns an error in this case instead.</p>
-</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sanity_check" class="method"><code>pub fn <a href="#method.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></code></h4><div class="docblock"><p>utility function to sanity a sorted multi vec</p>
-</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-2" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sorted_node" class="method"><code>pub fn <a href="#method.sorted_node" class="fnname">sorted_node</a>(&self) -> Terminal<Pk, Ctx> <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Create Terminal::Multi containing sorted pubkeys</p>
-</div><h4 id="method.encode" class="method"><code>pub fn <a href="#method.encode" class="fnname">encode</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code></h4><div class="docblock"><p>Encode as a Bitcoin script</p>
-</div><h4 id="method.satisfy" class="method"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code></h4><div class="docblock"><p>Attempt to produce a satisfying witness for the
+</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sanity_check" class="method"><code>pub fn <a href="#method.sanity_check" class="fnname">sanity_check</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error></code><a href="#method.sanity_check" class="anchor"></a></h4><div class="docblock"><p>utility function to sanity a sorted multi vec</p>
+</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-2" class="anchor"></a></h3><div class="impl-items"><h4 id="method.sorted_node" class="method"><code>pub fn <a href="#method.sorted_node" class="fnname">sorted_node</a>(&self) -> Terminal<Pk, Ctx> <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.sorted_node" class="anchor"></a></h4><div class="docblock"><p>Create Terminal::Multi containing sorted pubkeys</p>
+</div><h4 id="method.encode" class="method"><code>pub fn <a href="#method.encode" class="fnname">encode</a>(&self) -> Script <span class="where fmt-newline">where<br> Pk: ToPublicKey, </span></code><a href="#method.encode" class="anchor"></a></h4><div class="docblock"><p>Encode as a Bitcoin script</p>
+</div><h4 id="method.satisfy" class="method"><code>pub fn <a href="#method.satisfy" class="fnname">satisfy</a><S>(<br> &self, <br> satisfier: S<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>, Error> <span class="where fmt-newline">where<br> Pk: ToPublicKey,<br> S: Satisfier<Pk>, </span></code><a href="#method.satisfy" class="anchor"></a></h4><div class="docblock"><p>Attempt to produce a satisfying witness for the
witness script represented by the parse tree</p>
-</div><h4 id="method.script_size" class="method"><code>pub fn <a href="#method.script_size" class="fnname">script_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Size, in bytes of the script-pubkey. If this Miniscript is used outside
+</div><h4 id="method.script_size" class="method"><code>pub fn <a href="#method.script_size" class="fnname">script_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.script_size" class="anchor"></a></h4><div class="docblock"><p>Size, in bytes of the script-pubkey. If this Miniscript is used outside
of segwit (e.g. in a bare or P2SH descriptor), this quantity should be
multiplied by 4 to compute the weight.</p>
<p>In general, it is not recommended to use this function directly, but
to instead call the corresponding function on a <code>Descriptor</code>, which
will handle the segwit/non-segwit technicalities for you.</p>
-</div><h4 id="method.max_satisfaction_witness_elements" class="method"><code>pub fn <a href="#method.max_satisfaction_witness_elements" class="fnname">max_satisfaction_witness_elements</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Maximum number of witness elements used to satisfy the Miniscript
+</div><h4 id="method.max_satisfaction_witness_elements" class="method"><code>pub fn <a href="#method.max_satisfaction_witness_elements" class="fnname">max_satisfaction_witness_elements</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.max_satisfaction_witness_elements" class="anchor"></a></h4><div class="docblock"><p>Maximum number of witness elements used to satisfy the Miniscript
fragment, including the witness script itself. Used to estimate
the weight of the <code>VarInt</code> that specifies this number in a serialized
transaction.</p>
<p>This function may panic on malformed <code>Miniscript</code> objects which do
not correspond to semantically sane Scripts. (Such scripts should be
rejected at parse time. Any exceptions are bugs.)</p>
-</div><h4 id="method.max_satisfaction_size" class="method"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class="docblock"><p>Maximum size, in bytes, of a satisfying witness.
+</div><h4 id="method.max_satisfaction_size" class="method"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4><div class="docblock"><p>Maximum size, in bytes, of a satisfying witness.
In general, it is not recommended to use this function directly, but
to instead call the corresponding function on a <code>Descriptor</code>, which
will handle the segwit/non-segwit technicalities for you.</p>
<p>All signatures are assumed to be 73 bytes in size, including the
length prefix (segwit) or push opcode (pre-segwit) and sighash
postfix.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx></code></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + MiniscriptKey, </span></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> ForEachKey<Pk> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden"><code>pub fn <a href="#method.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + MiniscriptKey, </span></code><a href="#impl-Clone" class="anchor"></a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx></code><a href="#method.clone" class="anchor"></a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Debug" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt-1" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Display" class="anchor"></a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></code><a href="#method.fmt" class="anchor"></a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + MiniscriptKey, </span></code><a href="#impl-Eq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-ForEachKey%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> ForEachKey<Pk> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-ForEachKey%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.for_each_key" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.for_each_key" class="fnname">for_each_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_each_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for every key <a href="#tymethod.for_each_key">Read more</a></p>
-</div><h4 id="method.for_any_key" class="method hidden"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
+</div><h4 id="method.for_any_key" class="method hidden trait-impl"><code>pub fn <a href="#method.for_any_key" class="fnname">for_any_key</a><'a, F>(&'a self, pred: F) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> <span class="where fmt-newline">where<br> F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(ForEach<'a, Pk>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,<br> Pk: 'a,<br> <Pk as MiniscriptKey>::Hash: 'a, </span></code><a href="#method.for_any_key" class="anchor"></a></h4><div class='docblock hidden'><p>Run a predicate on every key in the descriptor, returning whether
the predicate returned true for any key <a href="#method.for_any_key">Read more</a></p>
-</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> Liftable<Pk> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden"><code>pub fn <a href="#method.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + MiniscriptKey, </span></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Ctx> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div></div><h3 id="impl-Liftable%3CPk%3E" class="impl"><code class="in-band">impl<Pk, Ctx> Liftable<Pk> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-Liftable%3CPk%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.lift" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.lift" class="fnname">lift</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Policy<Pk>, Error></code><a href="#method.lift" class="anchor"></a></h4><div class='docblock hidden'><p>Convert the object into an abstract policy</p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + MiniscriptKey, </span></code><a href="#impl-Ord" class="anchor"></a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Ctx> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialEq%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Ctx> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Ctx> + <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Pk> + MiniscriptKey, </span></code><a href="#impl-PartialOrd%3CSortedMultiVec%3CPk%2C%20Ctx%3E%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralEq" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#impl-StructuralPartialEq" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>, </span></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>, </span></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<Pk, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/keys/struct.SortedMultiVec.html" title="struct bdk::keys::SortedMultiVec">SortedMultiVec</a><Pk, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,<br> Pk: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>, </span></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for keys that can be derived."><meta name="keywords" content="rust, rustlang, rust-lang, DerivableKey"><title>bdk::keys::DerivableKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait DerivableKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_extended_key">into_extended_key</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.into_descriptor_key">into_descriptor_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey">ExtendedPrivKey</a><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey">ExtendedPubKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DerivableKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">DerivableKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#448-499" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait DerivableKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> = <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait DerivableKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_extended_key">into_extended_key</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.into_descriptor_key">into_descriptor_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey">ExtendedPrivKey</a><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey">ExtendedPubKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="DerivableKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">DerivableKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#448-499" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait DerivableKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> = <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>>;
fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>> { ... }
an <a href="(bip32::ExtendedPubKey)"><code>ExtendedPubKey</code></a> can implement only the required <code>into_extended_key()</code> method.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">ExtendedKey</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>};
+<span class="kw">use</span> <span class="ident">bdk::bitcoin</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::util::bip32</span>;
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">ExtendedKey</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>};
<span class="kw">struct</span> <span class="ident">MyCustomKeyType</span> {
- <span class="ident">key_data</span>: <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>,
+ <span class="ident">key_data</span>: <span class="ident">bitcoin::PrivateKey</span>,
<span class="ident">chain_code</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>,
- <span class="ident">network</span>: <span class="ident">bitcoin</span>::<span class="ident">Network</span>,
+ <span class="ident">network</span>: <span class="ident">bitcoin::Network</span>,
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MyCustomKeyType</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span> {
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey</span> {
<span class="ident">network</span>: <span class="self">self</span>.<span class="ident">network</span>,
<span class="ident">depth</span>: <span class="number">0</span>,
- <span class="ident">parent_fingerprint</span>: <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">default</span>(),
+ <span class="ident">parent_fingerprint</span>: <span class="ident">bip32::Fingerprint::default</span>(),
<span class="ident">private_key</span>: <span class="self">self</span>.<span class="ident">key_data</span>,
- <span class="ident">chain_code</span>: <span class="ident">bip32</span>::<span class="ident">ChainCode</span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">chain_code</span>.<span class="ident">as_ref</span>()),
- <span class="ident">child_number</span>: <span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">Normal</span> { <span class="ident">index</span>: <span class="number">0</span> },
+ <span class="ident">chain_code</span>: <span class="ident">bip32::ChainCode::from</span>(<span class="self">self</span>.<span class="ident">chain_code</span>.<span class="ident">as_ref</span>()),
+ <span class="ident">child_number</span>: <span class="ident">bip32::ChildNumber::Normal</span> { <span class="ident">index</span>: <span class="number">0</span> },
};
<span class="ident">xprv</span>.<span class="ident">into_extended_key</span>()
<a href="(bip32::ExtendedPrivKey)"><code>ExtendedPrivKey</code></a> or <a href="(bip32::ExtendedPubKey)"><code>ExtendedPubKey</code></a> will be considered valid.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{
+<span class="kw">use</span> <span class="ident">bdk::bitcoin</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::util::bip32</span>;
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{
<span class="ident">any_network</span>, <span class="ident">DerivableKey</span>, <span class="ident">DescriptorKey</span>, <span class="ident">ExtendedKey</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>,
};
<span class="kw">struct</span> <span class="ident">MyCustomKeyType</span> {
- <span class="ident">key_data</span>: <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>,
+ <span class="ident">key_data</span>: <span class="ident">bitcoin::PrivateKey</span>,
<span class="ident">chain_code</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>,
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MyCustomKeyType</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span> {
- <span class="ident">network</span>: <span class="ident">bitcoin</span>::<span class="ident">Network</span>::<span class="ident">Bitcoin</span>, <span class="comment">// pick an arbitrary network here</span>
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey</span> {
+ <span class="ident">network</span>: <span class="ident">bitcoin::Network::Bitcoin</span>, <span class="comment">// pick an arbitrary network here</span>
<span class="ident">depth</span>: <span class="number">0</span>,
- <span class="ident">parent_fingerprint</span>: <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">default</span>(),
+ <span class="ident">parent_fingerprint</span>: <span class="ident">bip32::Fingerprint::default</span>(),
<span class="ident">private_key</span>: <span class="self">self</span>.<span class="ident">key_data</span>,
- <span class="ident">chain_code</span>: <span class="ident">bip32</span>::<span class="ident">ChainCode</span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">chain_code</span>.<span class="ident">as_ref</span>()),
- <span class="ident">child_number</span>: <span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">Normal</span> { <span class="ident">index</span>: <span class="number">0</span> },
+ <span class="ident">chain_code</span>: <span class="ident">bip32::ChainCode::from</span>(<span class="self">self</span>.<span class="ident">chain_code</span>.<span class="ident">as_ref</span>()),
+ <span class="ident">child_number</span>: <span class="ident">bip32::ChildNumber::Normal</span> { <span class="ident">index</span>: <span class="number">0</span> },
};
<span class="ident">xprv</span>.<span class="ident">into_extended_key</span>()
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor_key</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span>
like <a href="../../bdk/keys/bip39/struct.Mnemonic.html"><code>Mnemonic</code></a> when the <code>keys-bip39</code> feature is enabled.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">Network</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">ExtendedKey</span>};
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::<span class="ident">bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">Language</span>};
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::Network</span>;
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">ExtendedKey</span>};
+<span class="kw">use</span> <span class="ident">bdk::keys::bip39</span>::{<span class="ident">Mnemonic</span>, <span class="ident">Language</span>};
<span class="kw">let</span> <span class="ident">xkey</span>: <span class="ident">ExtendedKey</span> <span class="op">=</span>
- <span class="ident">Mnemonic</span>::<span class="ident">from_phrase</span>(
+ <span class="ident">Mnemonic::from_phrase</span>(
<span class="string">"jelly crash boy whisper mouse ecology tuna soccer memory million news short"</span>,
- <span class="ident">Language</span>::<span class="ident">English</span>
+ <span class="ident">Language::English</span>
)<span class="question-mark">?</span>
.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">xkey</span>.<span class="ident">into_xprv</span>(<span class="ident">Network</span>::<span class="ident">Bitcoin</span>).<span class="ident">unwrap</span>();</pre></div>
+<span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">xkey</span>.<span class="ident">into_xprv</span>(<span class="ident">Network::Bitcoin</span>).<span class="ident">unwrap</span>();</pre></div>
</div></div><span class="loading-content">Loading content...</span><h2 id="provided-methods" class="small-section-header">Provided methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><h3 id="method.into_descriptor_key" class="method"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#477-498" title="goto source code">[src]</a></h3><div class="docblock"><p>Consume <code>self</code> and turn it into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> by adding the extra metadata, such as
key origin and derivation path</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for ExtendedPubKey</code><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#508-512" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden"><code>fn <a href="#method.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#509-511" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for ExtendedPrivKey</code><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#514-518" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key-1" class="method hidden"><code>fn <a href="#method.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#515-517" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>, </span></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#552-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key-2" class="method hidden"><code>fn <a href="#method.into_extended_key-2" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#557-559" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-1" class="method hidden"><code>fn <a href="#method.into_descriptor_key-1" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#561-568" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-DerivableKey%3CCtx%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#502-506" title="goto source code">[src]</a></h3><div class="docblock"><p>Identity conversion</p>
-</div><div class="impl-items"><h4 id="method.into_extended_key-3" class="method hidden"><code>fn <a href="#method.into_extended_key-3" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#503-505" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-2" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-DerivableKey%3CCtx%3E-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#82-98" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-4" class="method hidden"><code>fn <a href="#method.into_extended_key-4" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#83-85" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-2" class="method hidden"><code>fn <a href="#method.into_descriptor_key-2" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#87-97" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-3" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-DerivableKey%3CCtx%3E-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#41-57" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-5" class="method hidden"><code>fn <a href="#method.into_extended_key-5" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#42-44" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-3" class="method hidden"><code>fn <a href="#method.into_descriptor_key-3" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#46-56" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-4" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="type" href="../../bdk/keys/bip39/type.MnemonicWithPassphrase.html" title="type bdk::keys::bip39::MnemonicWithPassphrase">MnemonicWithPassphrase</a></code><a href="#impl-DerivableKey%3CCtx%3E-4" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#60-79" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-6" class="method hidden"><code>fn <a href="#method.into_extended_key-6" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#61-66" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-4" class="method hidden"><code>fn <a href="#method.into_descriptor_key-4" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#68-78" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.DerivableKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for ExtendedPubKey</code><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPubKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#508-512" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#509-511" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for ExtendedPrivKey</code><a href="#impl-DerivableKey%3CCtx%3E-for-ExtendedPrivKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#514-518" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#515-517" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-DerivableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>, </span></code><a href="#impl-DerivableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#552-569" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_extended_key-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#557-559" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-1" class="method hidden trait-impl"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> origin: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#561-568" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx></code><a href="#impl-DerivableKey%3CCtx%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#502-506" title="goto source code">[src]</a></h3><div class="docblock"><p>Identity conversion</p>
+</div><div class="impl-items"><h4 id="method.into_extended_key-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#503-505" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-2" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-DerivableKey%3CCtx%3E-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#82-98" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-4" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#83-85" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-2" class="method hidden trait-impl"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#87-97" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-3" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Seed.html" title="struct bdk::keys::bip39::Seed">Seed</a></code><a href="#impl-DerivableKey%3CCtx%3E-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#41-57" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-5" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-5" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#42-44" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-3" class="method hidden trait-impl"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#46-56" title="goto source code">[src]</a></h4></div><h3 id="impl-DerivableKey%3CCtx%3E-4" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx> for <a class="type" href="../../bdk/keys/bip39/type.MnemonicWithPassphrase.html" title="type bdk::keys::bip39::MnemonicWithPassphrase">MnemonicWithPassphrase</a></code><a href="#impl-DerivableKey%3CCtx%3E-4" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#60-79" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="method.into_extended_key-6" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_extended_key" class="fnname">into_extended_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.ExtendedKey.html" title="enum bdk::keys::ExtendedKey">ExtendedKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_extended_key-6" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#61-66" title="goto source code">[src]</a></h4><h4 id="method.into_descriptor_key-4" class="method hidden trait-impl"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(<br> self, <br> source: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><KeySource>, <br> derivation_path: DerivationPath<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-4" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#68-78" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.DerivableKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait that adds extra useful methods to [`ScriptContext`]s"><meta name="keywords" content="rust, rustlang, rust-lang, ExtScriptContext"><title>bdk::keys::ExtScriptContext - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ExtScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.as_enum">as_enum</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.is_legacy">is_legacy</a><a href="#method.is_segwit_v0">is_segwit_v0</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ExtScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">ExtScriptContext</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#145-158" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ExtScriptContext: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ExtScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.as_enum">as_enum</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.is_legacy">is_legacy</a><a href="#method.is_segwit_v0">is_segwit_v0</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ExtScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">ExtScriptContext</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#145-158" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ExtScriptContext: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> {
fn <a href="#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a>;
fn <a href="#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a> { ... }
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.as_enum" class="method"><code>fn <a href="#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#147" title="goto source code">[src]</a></h3><div class="docblock"><p>Returns the <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a> as a <a href="../../bdk/keys/enum.ScriptContextEnum.html" title="ScriptContextEnum"><code>ScriptContextEnum</code></a></p>
</div></div><span class="loading-content">Loading content...</span><h2 id="provided-methods" class="small-section-header">Provided methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><h3 id="method.is_legacy" class="method"><code>fn <a href="#method.is_legacy" class="fnname">is_legacy</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#150-152" title="goto source code">[src]</a></h3><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Legacy.html"><code>Legacy</code></a></p>
</div><h3 id="method.is_segwit_v0" class="method"><code>fn <a href="#method.is_segwit_v0" class="fnname">is_segwit_v0</a>() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#155-157" title="goto source code">[src]</a></h3><div class="docblock"><p>Returns whether the script context is <a href="../../bdk/descriptor/enum.Segwitv0.html"><code>Segwitv0</code></a></p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> + 'static> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx</code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden"><code>fn <a href="#method.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.ExtScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ExtScriptContext" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> + 'static> <a class="trait" href="../../bdk/keys/trait.ExtScriptContext.html" title="trait bdk::keys::ExtScriptContext">ExtScriptContext</a> for Ctx</code><a href="#impl-ExtScriptContext" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#160-168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_enum" class="method hidden trait-impl"><code>fn <a href="#tymethod.as_enum" class="fnname">as_enum</a>() -> <a class="enum" href="../../bdk/keys/enum.ScriptContextEnum.html" title="enum bdk::keys::ScriptContextEnum">ScriptContextEnum</a></code><a href="#method.as_enum" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#161-167" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.ExtScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait that allows generating a key with the default options"><meta name="keywords" content="rust, rustlang, rust-lang, GeneratableDefaultOptions"><title>bdk::keys::GeneratableDefaultOptions - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait GeneratableDefaultOptions</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.generate_with_entropy_default">generate_with_entropy_default</a><a href="#method.generate_default">generate_default</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratableDefaultOptions" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">GeneratableDefaultOptions</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#620-636" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait GeneratableDefaultOptions<Ctx>: <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>, </span>{
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait GeneratableDefaultOptions</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.generate_default">generate_default</a><a href="#method.generate_with_entropy_default">generate_with_entropy_default</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratableDefaultOptions" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">GeneratableDefaultOptions</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#620-636" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait GeneratableDefaultOptions<Ctx>: <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>, </span>{
fn <a href="#method.generate_with_entropy_default" class="fnname">generate_with_entropy_default</a>(<br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>> { ... }
<div class="item-spacer"></div> fn <a href="#method.generate_default" class="fnname">generate_default</a>() -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>> { ... }
}</pre></div><div class="docblock"><p>Trait that allows generating a key with the default options</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="Trait for keys that can be generated"><meta name="keywords" content="rust, rustlang, rust-lang, GeneratableKey"><title>bdk::keys::GeneratableKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait GeneratableKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Error">Error</a><a href="#associatedtype.Options">Options</a><a href="#associatedtype.Entropy">Entropy</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.generate_with_entropy">generate_with_entropy</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.generate">generate</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey">ExtendedPrivKey</a><a href="#impl-GeneratableKey%3CCtx%3E-for-PrivateKey">PrivateKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratableKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">GeneratableKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#592-615" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait GeneratableKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait GeneratableKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#associated-types">Associated Types</a><div class="sidebar-links"><a href="#associatedtype.Entropy">Entropy</a><a href="#associatedtype.Error">Error</a><a href="#associatedtype.Options">Options</a></div><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.generate_with_entropy">generate_with_entropy</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.generate">generate</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey">ExtendedPrivKey</a><a href="#impl-GeneratableKey%3CCtx%3E-for-PrivateKey">PrivateKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="GeneratableKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">GeneratableKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#592-615" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait GeneratableKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
type <a href="#associatedtype.Entropy" class="type">Entropy</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a>;
type <a href="#associatedtype.Options" class="type">Options</a>;
type <a href="#associatedtype.Error" class="type">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>;
</div><h3 id="associatedtype.Error" class="method"><code>type <a href="#associatedtype.Error" class="type">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#599" title="goto source code">[src]</a></h3><div class="docblock"><p>Returned error in case of failure</p>
</div></div><span class="loading-content">Loading content...</span><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.generate_with_entropy" class="method"><code>fn <a href="#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> options: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#602-605" title="goto source code">[src]</a></h3><div class="docblock"><p>Generate a key given the extra options and the entropy</p>
</div></div><span class="loading-content">Loading content...</span><h2 id="provided-methods" class="small-section-header">Provided methods<a href="#provided-methods" class="anchor"></a></h2><div class="methods"><h3 id="method.generate" class="method"><code>fn <a href="#method.generate" class="fnname">generate</a>(<br> options: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#608-614" title="goto source code">[src]</a></h3><div class="docblock"><p>Generate a key given the options with a random entropy</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for ExtendedPrivKey</code><a href="#impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#648-662" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy-1" class="type"><code>type <a href="#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code></h4><h4 id="associatedtype.Options-1" class="type"><code>type <a href="#associatedtype.Options" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></h4><h4 id="associatedtype.Error-1" class="type"><code>type <a href="#associatedtype.Error" class="type">Error</a> = Error</code></h4><h4 id="method.generate_with_entropy" class="method hidden"><code>fn <a href="#method.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> _: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#654-661" title="goto source code">[src]</a></h4></div><h3 id="impl-GeneratableKey%3CCtx%3E-for-PrivateKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for PrivateKey</code><a href="#impl-GeneratableKey%3CCtx%3E-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#679-699" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy-2" class="type"><code>type <a href="#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code></h4><h4 id="associatedtype.Options-2" class="type"><code>type <a href="#associatedtype.Options" class="type">Options</a> = <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code></h4><h4 id="associatedtype.Error-2" class="type"><code>type <a href="#associatedtype.Error" class="type">Error</a> = Error</code></h4><h4 id="method.generate_with_entropy-1" class="method hidden"><code>fn <a href="#method.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> options: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#685-698" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-GeneratableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-GeneratableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#101-116" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Entropy-3" class="type"><code>type <a href="#associatedtype.Entropy-3" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code></h4><h4 id="associatedtype.Options-3" class="type"><code>type <a href="#associatedtype.Options-3" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="enum" href="../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code></h4><h4 id="associatedtype.Error-3" class="type"><code>type <a href="#associatedtype.Error-3" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ErrorKind></code></h4><h4 id="method.generate_with_entropy-2" class="method hidden"><code>fn <a href="#method.generate_with_entropy-2" class="fnname">generate_with_entropy</a>(<br> (mnemonic_type, language): Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#107-115" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.GeneratableKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for ExtendedPrivKey</code><a href="#impl-GeneratableKey%3CCtx%3E-for-ExtendedPrivKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#648-662" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy-1" class="type trait-impl"><code>type <a href="#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code><a href="#associatedtype.Entropy-1" class="anchor"></a></h4><h4 id="associatedtype.Options-1" class="type trait-impl"><code>type <a href="#associatedtype.Options" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code><a href="#associatedtype.Options-1" class="anchor"></a></h4><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="#associatedtype.Error" class="type">Error</a> = Error</code><a href="#associatedtype.Error-1" class="anchor"></a></h4><h4 id="method.generate_with_entropy" class="method hidden trait-impl"><code>fn <a href="#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> _: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a href="#method.generate_with_entropy" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#654-661" title="goto source code">[src]</a></h4></div><h3 id="impl-GeneratableKey%3CCtx%3E-for-PrivateKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for PrivateKey</code><a href="#impl-GeneratableKey%3CCtx%3E-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#679-699" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Entropy-2" class="type trait-impl"><code>type <a href="#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code><a href="#associatedtype.Entropy-2" class="anchor"></a></h4><h4 id="associatedtype.Options-2" class="type trait-impl"><code>type <a href="#associatedtype.Options" class="type">Options</a> = <a class="struct" href="../../bdk/keys/struct.PrivateKeyGenerateOptions.html" title="struct bdk::keys::PrivateKeyGenerateOptions">PrivateKeyGenerateOptions</a></code><a href="#associatedtype.Options-2" class="anchor"></a></h4><h4 id="associatedtype.Error-2" class="type trait-impl"><code>type <a href="#associatedtype.Error" class="type">Error</a> = Error</code><a href="#associatedtype.Error-2" class="anchor"></a></h4><h4 id="method.generate_with_entropy-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> options: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a href="#method.generate_with_entropy-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#685-698" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-GeneratableKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.GeneratableKey.html" title="trait bdk::keys::GeneratableKey">GeneratableKey</a><Ctx> for <a class="struct" href="../../bdk/keys/bip39/struct.Mnemonic.html" title="struct bdk::keys::bip39::Mnemonic">Mnemonic</a></code><a href="#impl-GeneratableKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#101-116" title="goto source code">[src]</a></h3><div class="item-info"><div class="stab portability">This is supported on <strong>crate feature <code>keys-bip39</code></strong> only.</div></div><div class="impl-items"><h4 id="associatedtype.Entropy-3" class="type trait-impl"><code>type <a href="#associatedtype.Entropy" class="type">Entropy</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; 32]</a></code><a href="#associatedtype.Entropy-3" class="anchor"></a></h4><h4 id="associatedtype.Options-3" class="type trait-impl"><code>type <a href="#associatedtype.Options" class="type">Options</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><a class="enum" href="../../bdk/keys/bip39/enum.MnemonicType.html" title="enum bdk::keys::bip39::MnemonicType">MnemonicType</a>, <a class="enum" href="../../bdk/keys/bip39/enum.Language.html" title="enum bdk::keys::bip39::Language">Language</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#associatedtype.Options-3" class="anchor"></a></h4><h4 id="associatedtype.Error-3" class="type trait-impl"><code>type <a href="#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><ErrorKind></code><a href="#associatedtype.Error-3" class="anchor"></a></h4><h4 id="method.generate_with_entropy-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.generate_with_entropy" class="fnname">generate_with_entropy</a>(<br> (mnemonic_type, language): Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Options" title="type bdk::keys::GeneratableKey::Options">Options</a>, <br> entropy: Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Entropy" title="type bdk::keys::GeneratableKey::Entropy">Entropy</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><Self, Ctx>, Self::<a class="type" href="../../bdk/keys/trait.GeneratableKey.html#associatedtype.Error" title="type bdk::keys::GeneratableKey::Error">Error</a>></code><a href="#method.generate_with_entropy-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/bip39.rs.html#107-115" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.GeneratableKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for objects that can be turned into a public or secret [`DescriptorKey`]"><meta name="keywords" content="rust, rustlang, rust-lang, IntoDescriptorKey"><title>bdk::keys::IntoDescriptorKey - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IntoDescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_descriptor_key">into_descriptor_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-%26str">&str</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)">(T, DerivationPath)</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)">(T, KeySource, DerivationPath)</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey">PrivateKey</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey">PublicKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="IntoDescriptorKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">IntoDescriptorKey</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#289-292" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IntoDescriptorKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IntoDescriptorKey</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.into_descriptor_key">into_descriptor_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-%26str">&str</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)">(T, DerivationPath)</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)">(T, KeySource, DerivationPath)</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey">PrivateKey</a><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey">PublicKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="IntoDescriptorKey" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">IntoDescriptorKey</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#289-292" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IntoDescriptorKey<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> {
fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>>;
}</pre></div><div class="docblock"><p>Trait for objects that can be turned into a public or secret <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a></p>
<p>The generic type <code>Ctx</code> is used to define the context in which the key is valid: some key
<p>Key type valid in any context:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::PublicKey</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>, <span class="ident">IntoDescriptorKey</span>};
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>, <span class="ident">IntoDescriptorKey</span>};
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">MyKeyType</span> {
<span class="ident">pubkey</span>: <span class="ident">PublicKey</span>,
<p>Key type that is only valid on mainnet:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::PublicKey</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{
<span class="ident">mainnet_network</span>, <span class="ident">DescriptorKey</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorSinglePub</span>, <span class="ident">KeyError</span>,
<span class="ident">ScriptContext</span>, <span class="ident">IntoDescriptorKey</span>,
};
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MyKeyType</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey</span>::<span class="ident">from_public</span>(
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="ident">DescriptorSinglePub</span> {
+ <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey::from_public</span>(
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="ident">DescriptorSinglePub</span> {
<span class="ident">origin</span>: <span class="prelude-val">None</span>,
<span class="ident">key</span>: <span class="self">self</span>.<span class="ident">pubkey</span>,
}),
<p>Key type that internally encodes in which context it’s valid. The context is checked at runtime:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::PublicKey</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">ExtScriptContext</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>, <span class="ident">IntoDescriptorKey</span>};
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">ExtScriptContext</span>, <span class="ident">KeyError</span>, <span class="ident">ScriptContext</span>, <span class="ident">IntoDescriptorKey</span>};
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">MyKeyType</span> {
<span class="ident">is_legacy</span>: <span class="ident">bool</span>,
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">+</span> <span class="lifetime">'static</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MyKeyType</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="kw">if</span> <span class="ident">Ctx</span>::<span class="ident">is_legacy</span>() <span class="op">=</span><span class="op">=</span> <span class="self">self</span>.<span class="ident">is_legacy</span> {
+ <span class="kw">if</span> <span class="ident">Ctx::is_legacy</span>() <span class="op">=</span><span class="op">=</span> <span class="self">self</span>.<span class="ident">is_legacy</span> {
<span class="self">self</span>.<span class="ident">pubkey</span>.<span class="ident">into_descriptor_key</span>()
} <span class="kw">else</span> {
- <span class="prelude-val">Err</span>(<span class="ident">KeyError</span>::<span class="ident">InvalidScriptContext</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">KeyError::InvalidScriptContext</span>)
}
}
}</pre></div>
makes the compiler (correctly) fail.</p>
<div class='information'><div class='tooltip compile_fail'>ⓘ</div></div><div class="example-wrap"><pre class="rust rust-example-rendered compile_fail">
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+<span class="kw">use</span> <span class="ident">bdk::bitcoin::PublicKey</span>;
+<span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
-<span class="kw">use</span> <span class="ident">bdk</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">KeyError</span>, <span class="ident">IntoDescriptorKey</span>};
+<span class="kw">use</span> <span class="ident">bdk::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">KeyError</span>, <span class="ident">IntoDescriptorKey</span>};
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">MySegwitOnlyKeyType</span> {
<span class="ident">pubkey</span>: <span class="ident">PublicKey</span>,
}
-<span class="kw">impl</span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">bdk</span>::<span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MySegwitOnlyKeyType</span> {
- <span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">bdk</span>::<span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
+<span class="kw">impl</span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">bdk::miniscript::Segwitv0</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MySegwitOnlyKeyType</span> {
+ <span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">bdk::miniscript::Segwitv0</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="self">self</span>.<span class="ident">pubkey</span>.<span class="ident">into_descriptor_key</span>()
}
}
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MySegwitOnlyKeyType</span> {
- <span class="ident">pubkey</span>: <span class="ident">PublicKey</span>::<span class="ident">from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>,
+ <span class="ident">pubkey</span>: <span class="ident">PublicKey::from_str</span>(<span class="string">"..."</span>)<span class="question-mark">?</span>,
};
-<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="ident">key</span>))<span class="question-mark">?</span>;
+<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span>(<span class="ident">pkh</span>(<span class="ident">key</span>))<span class="question-mark">?</span>;
<span class="comment">// ^^^^^ changing this to `wpkh` would make it compile</span>
</pre></div>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.into_descriptor_key" class="method"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#291" title="goto source code">[src]</a></h3><div class="docblock"><p>Turn the key into a <a href="../../bdk/keys/enum.DescriptorKey.html" title="DescriptorKey"><code>DescriptorKey</code></a> within the requested <a href="../../bdk/keys/trait.ScriptContext.html" title="ScriptContext"><code>ScriptContext</code></a></p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, T: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>T, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#701-707" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#704-706" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, T: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>T, KeySource, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#709-715" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-1" class="method hidden"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#712-714" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for PublicKey</code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#816-824" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-2" class="method hidden"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#817-823" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-%26str" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-%26str" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#844-850" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-3" class="method hidden"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#845-849" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for PrivateKey</code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#852-860" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-4" class="method hidden"><code>fn <a href="#method.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#853-859" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx>, </span></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#573-582" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-5" class="method hidden"><code>fn <a href="#method.into_descriptor_key-5" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#578-581" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#794-798" title="goto source code">[src]</a></h3><div class="docblock"><p>The “identity” conversion is used internally by some <code>bdk::fragment</code>s</p>
-</div><div class="impl-items"><h4 id="method.into_descriptor_key-6" class="method hidden"><code>fn <a href="#method.into_descriptor_key-6" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#795-797" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-2" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#800-814" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-7" class="method hidden"><code>fn <a href="#method.into_descriptor_key-7" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#801-813" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-3" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#826-842" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-8" class="method hidden"><code>fn <a href="#method.into_descriptor_key-8" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a class="srclink" href="../../src/bdk/keys/mod.rs.html#827-841" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.IntoDescriptorKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, T: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>T, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20DerivationPath)" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#701-707" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#704-706" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>, T: <a class="trait" href="../../bdk/keys/trait.DerivableKey.html" title="trait bdk::keys::DerivableKey">DerivableKey</a><Ctx>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>T, KeySource, DerivationPath<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-(T%2C%20KeySource%2C%20DerivationPath)" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#709-715" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#712-714" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for PublicKey</code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PublicKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#816-824" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-2" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#817-823" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-%26str" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-%26str" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#844-850" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-3" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#845-849" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for PrivateKey</code><a href="#impl-IntoDescriptorKey%3CCtx%3E-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#852-860" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-4" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-4" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#853-859" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-IntoDescriptorKey%3CCtx%3E" class="impl"><code class="in-band">impl<Ctx, K> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="struct" href="../../bdk/keys/struct.GeneratedKey.html" title="struct bdk::keys::GeneratedKey">GeneratedKey</a><K, Ctx> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> K: <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx>, </span></code><a href="#impl-IntoDescriptorKey%3CCtx%3E" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#573-582" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-5" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-5" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#578-581" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-1" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-1" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#794-798" title="goto source code">[src]</a></h3><div class="docblock"><p>The “identity” conversion is used internally by some <code>bdk::fragment</code>s</p>
+</div><div class="impl-items"><h4 id="method.into_descriptor_key-6" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-6" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#795-797" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-2" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-2" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#800-814" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-7" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-7" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#801-813" title="goto source code">[src]</a></h4></div><h3 id="impl-IntoDescriptorKey%3CCtx%3E-3" class="impl"><code class="in-band">impl<Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>> <a class="trait" href="../../bdk/keys/trait.IntoDescriptorKey.html" title="trait bdk::keys::IntoDescriptorKey">IntoDescriptorKey</a><Ctx> for <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a></code><a href="#impl-IntoDescriptorKey%3CCtx%3E-3" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#826-842" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into_descriptor_key-8" class="method hidden trait-impl"><code>fn <a href="#tymethod.into_descriptor_key" class="fnname">into_descriptor_key</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../bdk/keys/enum.DescriptorKey.html" title="enum bdk::keys::DescriptorKey">DescriptorKey</a><Ctx>, <a class="enum" href="../../bdk/keys/enum.KeyError.html" title="enum bdk::keys::KeyError">KeyError</a>></code><a href="#method.into_descriptor_key-8" class="anchor"></a><a class="srclink" href="../../src/bdk/keys/mod.rs.html#827-841" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/keys/trait.IntoDescriptorKey.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="The ScriptContext for Miniscript. Additional type information associated with miniscript that is used for carrying out checks that dependent on the context under which the script is used. For example, disallowing uncompressed keys in Segwit context"><meta name="keywords" content="rust, rustlang, rust-lang, ScriptContext"><title>bdk::keys::ScriptContext - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.check_terminal_non_malleable">check_terminal_non_malleable</a><a href="#tymethod.max_satisfaction_size">max_satisfaction_size</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.check_global_validity">check_global_validity</a><a href="#method.check_witness">check_witness</a><a href="#method.check_global_consensus_validity">check_global_consensus_validity</a><a href="#method.check_global_policy_validity">check_global_policy_validity</a><a href="#method.check_local_consensus_validity">check_local_consensus_validity</a><a href="#method.check_local_policy_validity">check_local_policy_validity</a><a href="#method.check_local_validity">check_local_validity</a><a href="#method.top_level_type_check">top_level_type_check</a><a href="#method.other_top_level_checks">other_top_level_checks</a><a href="#method.top_level_checks">top_level_checks</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ScriptContext-for-BareCtx">BareCtx</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">ScriptContext</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ScriptContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Self> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Self> + Sealed {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait ScriptContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.check_terminal_non_malleable">check_terminal_non_malleable</a><a href="#tymethod.max_satisfaction_size">max_satisfaction_size</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.check_global_consensus_validity">check_global_consensus_validity</a><a href="#method.check_global_policy_validity">check_global_policy_validity</a><a href="#method.check_global_validity">check_global_validity</a><a href="#method.check_local_consensus_validity">check_local_consensus_validity</a><a href="#method.check_local_policy_validity">check_local_policy_validity</a><a href="#method.check_local_validity">check_local_validity</a><a href="#method.check_witness">check_witness</a><a href="#method.other_top_level_checks">other_top_level_checks</a><a href="#method.top_level_checks">top_level_checks</a><a href="#method.top_level_type_check">top_level_type_check</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-ScriptContext-for-BareCtx">BareCtx</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ScriptContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="trait" href="">ScriptContext</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait ScriptContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><Self> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><Self> + Sealed {
pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError><br> <span class="where">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey</span>;
<div class="item-spacer"></div> pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>><br> <span class="where">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey</span>;
</div><h3 id="method.top_level_type_check" class="method"><code>pub fn <a href="#method.top_level_type_check" class="fnname">top_level_type_check</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Check whether the top-level is type B</p>
</div><h3 id="method.other_top_level_checks" class="method"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> _ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Other top level checks that are context specific</p>
</div><h3 id="method.top_level_checks" class="method"><code>pub fn <a href="#method.top_level_checks" class="fnname">top_level_checks</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h3><div class="docblock"><p>Check top level consensus rules.</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ScriptContext-for-BareCtx" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for BareCtx</code><a href="#impl-ScriptContext-for-BareCtx" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-1" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-1" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.other_top_level_checks-1" class="method hidden"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-1" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable-1" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_witness-1" class="method hidden"><code>pub fn <a href="#method.check_witness-1" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-2" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity-2" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-2" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity-2" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_policy_validity-1" class="method hidden"><code>pub fn <a href="#method.check_local_policy_validity-1" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size-1" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size-1" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div><h3 id="impl-ScriptContext-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-2" class="method hidden"><code>pub fn <a href="#method.check_terminal_non_malleable-2" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_witness-2" class="method hidden"><code>pub fn <a href="#method.check_witness-2" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_consensus_validity-3" class="method hidden"><code>pub fn <a href="#method.check_global_consensus_validity-3" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_consensus_validity-3" class="method hidden"><code>pub fn <a href="#method.check_local_consensus_validity-3" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_global_policy_validity-1" class="method hidden"><code>pub fn <a href="#method.check_global_policy_validity-1" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.check_local_policy_validity-2" class="method hidden"><code>pub fn <a href="#method.check_local_policy_validity-2" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4><h4 id="method.max_satisfaction_size-2" class="method hidden"><code>pub fn <a href="#method.max_satisfaction_size-2" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/miniscript/miniscript/context/trait.ScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-ScriptContext-for-BareCtx" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for BareCtx</code><a href="#impl-ScriptContext-for-BareCtx" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-1" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-1" class="anchor"></a></h4><h4 id="method.other_top_level_checks-1" class="method hidden trait-impl"><code>pub fn <a href="#method.other_top_level_checks" class="fnname">other_top_level_checks</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, Error> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.other_top_level_checks-1" class="anchor"></a></h4><h4 id="method.max_satisfaction_size" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size" class="anchor"></a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-ScriptContext" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Legacy.html" title="enum bdk::descriptor::Legacy">Legacy</a></code><a href="#impl-ScriptContext" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-1" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable-1" class="anchor"></a></h4><h4 id="method.check_witness-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness-1" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-2" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-2" class="anchor"></a></h4><h4 id="method.check_local_policy_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity-1" class="anchor"></a></h4><h4 id="method.max_satisfaction_size-1" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size-1" class="anchor"></a></h4></div><h3 id="impl-ScriptContext-1" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a> for <a class="enum" href="../../bdk/descriptor/enum.Segwitv0.html" title="enum bdk::descriptor::Segwitv0">Segwitv0</a></code><a href="#impl-ScriptContext-1" class="anchor"></a></h3><div class="impl-items"><h4 id="method.check_terminal_non_malleable-2" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.check_terminal_non_malleable" class="fnname">check_terminal_non_malleable</a><Pk, Ctx>(<br> _frag: &Terminal<Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_terminal_non_malleable-2" class="anchor"></a></h4><h4 id="method.check_witness-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_witness" class="fnname">check_witness</a><Pk, Ctx>(<br> witness: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a><a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_witness-2" class="anchor"></a></h4><h4 id="method.check_global_consensus_validity-3" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_consensus_validity" class="fnname">check_global_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_consensus_validity-3" class="anchor"></a></h4><h4 id="method.check_local_consensus_validity-3" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_consensus_validity" class="fnname">check_local_consensus_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_consensus_validity-3" class="anchor"></a></h4><h4 id="method.check_global_policy_validity-1" class="method hidden trait-impl"><code>pub fn <a href="#method.check_global_policy_validity" class="fnname">check_global_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_global_policy_validity-1" class="anchor"></a></h4><h4 id="method.check_local_policy_validity-2" class="method hidden trait-impl"><code>pub fn <a href="#method.check_local_policy_validity" class="fnname">check_local_policy_validity</a><Pk, Ctx>(<br> ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, ScriptContextError> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.check_local_policy_validity-2" class="anchor"></a></h4><h4 id="method.max_satisfaction_size-2" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.max_satisfaction_size" class="fnname">max_satisfaction_size</a><Pk, Ctx>(ms: &<a class="struct" href="../../bdk/descriptor/struct.Miniscript.html" title="struct bdk::descriptor::Miniscript">Miniscript</a><Pk, Ctx>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>> <span class="where fmt-newline">where<br> Ctx: <a class="trait" href="../../bdk/keys/trait.ScriptContext.html" title="trait bdk::keys::ScriptContext">ScriptContext</a>,<br> Pk: MiniscriptKey, </span></code><a href="#method.max_satisfaction_size-2" class="anchor"></a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/miniscript/miniscript/context/trait.ScriptContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Alias type for a map of public key to secret key"><meta name="keywords" content="rust, rustlang, rust-lang, KeyMap"><title>bdk::keys::KeyMap - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition KeyMap</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="KeyMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="type" href="">KeyMap</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><pre class="rust typedef">type KeyMap = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>;</pre><div class="docblock"><p>Alias type for a map of public key to secret key</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition KeyMap</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="KeyMap" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="type" href="">KeyMap</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span></span></h1><pre class="rust typedef">type KeyMap = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>;</pre><div class="docblock"><p>Alias type for a map of public key to secret key</p>
<p>This map is returned whenever a descriptor that contains secrets is parsed using
<a href="../../bdk/descriptor/enum.Descriptor.html#method.parse_descriptor" title="Descriptor::parse_descriptor"><code>Descriptor::parse_descriptor</code></a>, since the descriptor will always only contain
public keys. This map allows looking up the corresponding secret key given a
<!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="Set of valid networks for a key"><meta name="keywords" content="rust, rustlang, rust-lang, ValidNetworks"><title>bdk::keys::ValidNetworks - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ValidNetworks</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ValidNetworks" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="type" href="">ValidNetworks</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#41" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ValidNetworks = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><Network>;</pre><div class="docblock"><p>Set of valid networks for a key</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition ValidNetworks</p><div class="sidebar-elems"><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a></p><div id="sidebar-vars" data-name="ValidNetworks" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">bdk</a>::<wbr><a href="index.html">keys</a>::<wbr><a class="type" href="">ValidNetworks</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/keys/mod.rs.html#41" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type ValidNetworks = <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/set/struct.HashSet.html" title="struct std::collections::hash::set::HashSet">HashSet</a><Network>;</pre><div class="docblock"><p>Set of valid networks for a key</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Macro to write full descriptors with code"><meta name="keywords" content="rust, rustlang, rust-lang, descriptor"><title>bdk::descriptor - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc macro"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="descriptor" data-ty="macro" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Macro <a href="index.html">bdk</a>::<wbr><a class="macro" href="">descriptor</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/descriptor/dsl.rs.html#401-444" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">descriptor</span> {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc macro"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="descriptor" data-ty="macro" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Macro <a href="index.html">bdk</a>::<wbr><a class="macro" href="">descriptor</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/descriptor/dsl.rs.html#401-444" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
+<span class="macro">macro_rules!</span> <span class="ident">descriptor</span> {
( <span class="ident">bare</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> { ... };
( <span class="ident">sh</span> ( <span class="ident">wsh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) ) <span class="op">=</span><span class="op">></span> { ... };
( <span class="ident">shwsh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> { ... };
<p>Signature plus timelock descriptor:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> (<span class="ident">my_descriptor</span>, <span class="ident">my_keys_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">and_v</span>(<span class="ident">v</span>:<span class="ident">pk</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>),<span class="ident">older</span>(<span class="number">50</span>)))))<span class="question-mark">?</span>;</pre></div>
+<span class="kw">let</span> (<span class="ident">my_descriptor</span>, <span class="ident">my_keys_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">and_v</span>(<span class="ident">v</span>:<span class="ident">pk</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>),<span class="ident">older</span>(<span class="number">50</span>)))))<span class="question-mark">?</span>;</pre></div>
<hr />
<p>2-of-3 that becomes a 1-of-3 after a timelock has expired. Both <code>descriptor_a</code> and <code>descriptor_b</code> are equivalent: the first
syntax is more suitable for a fixed number of items known at compile time, while the other accepts a
<p>They both produce the descriptor: <code>wsh(thresh(2,pk(...),s:pk(...),sdv:older(...)))</code></p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">my_key_1</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+<span class="kw">let</span> <span class="ident">my_key_1</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c"</span>,
)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">my_key_2</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">my_timelock</span> <span class="op">=</span> <span class="number">50</span>;
-<span class="kw">let</span> (<span class="ident">descriptor_a</span>, <span class="ident">key_map_a</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span> {
+<span class="kw">let</span> (<span class="ident">descriptor_a</span>, <span class="ident">key_map_a</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span> {
<span class="ident">wsh</span> (
<span class="ident">thresh</span>(<span class="number">2</span>, <span class="ident">pk</span>(<span class="ident">my_key_1</span>), <span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">my_key_2</span>), <span class="ident">s</span>:<span class="ident">d</span>:<span class="ident">v</span>:<span class="ident">older</span>(<span class="ident">my_timelock</span>))
)
}<span class="question-mark">?</span>;
-<span class="attribute">#[<span class="ident">rustfmt</span>::<span class="ident">skip</span>]</span>
-<span class="kw">let</span> <span class="ident">b_items</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[
- <span class="ident">bdk</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="ident">pk</span>(<span class="ident">my_key_1</span>))<span class="question-mark">?</span>,
- <span class="ident">bdk</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">my_key_2</span>))<span class="question-mark">?</span>,
- <span class="ident">bdk</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="ident">s</span>:<span class="ident">d</span>:<span class="ident">v</span>:<span class="ident">older</span>(<span class="ident">my_timelock</span>))<span class="question-mark">?</span>,
+<span class="attribute">#[<span class="ident">rustfmt::skip</span>]</span>
+<span class="kw">let</span> <span class="ident">b_items</span> <span class="op">=</span> <span class="macro">vec!</span>[
+ <span class="macro">bdk::fragment!</span>(<span class="ident">pk</span>(<span class="ident">my_key_1</span>))<span class="question-mark">?</span>,
+ <span class="macro">bdk::fragment!</span>(<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">my_key_2</span>))<span class="question-mark">?</span>,
+ <span class="macro">bdk::fragment!</span>(<span class="ident">s</span>:<span class="ident">d</span>:<span class="ident">v</span>:<span class="ident">older</span>(<span class="ident">my_timelock</span>))<span class="question-mark">?</span>,
];
-<span class="kw">let</span> (<span class="ident">descriptor_b</span>, <span class="kw-2">mut</span> <span class="ident">key_map_b</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">thresh_vec</span>(<span class="number">2</span>, <span class="ident">b_items</span>)))<span class="question-mark">?</span>;
+<span class="kw">let</span> (<span class="ident">descriptor_b</span>, <span class="kw-2">mut</span> <span class="ident">key_map_b</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">thresh_vec</span>(<span class="number">2</span>, <span class="ident">b_items</span>)))<span class="question-mark">?</span>;
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">descriptor_a</span>, <span class="ident">descriptor_b</span>);
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">key_map_a</span>.<span class="ident">len</span>(), <span class="ident">key_map_b</span>.<span class="ident">len</span>());</pre></div>
+<span class="macro">assert_eq!</span>(<span class="ident">descriptor_a</span>, <span class="ident">descriptor_b</span>);
+<span class="macro">assert_eq!</span>(<span class="ident">key_map_a</span>.<span class="ident">len</span>(), <span class="ident">key_map_b</span>.<span class="ident">len</span>());</pre></div>
<hr />
<p>Simple 2-of-2 multi-signature, equivalent to: <code>wsh(multi(2, ...))</code></p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">my_key_1</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+<span class="kw">let</span> <span class="ident">my_key_1</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c"</span>,
)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">my_key_2</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="ident">key_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span> {
+<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="ident">key_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span> {
<span class="ident">wsh</span> (
<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">my_key_1</span>, <span class="ident">my_key_2</span>)
)
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">let</span> <span class="ident">my_key</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cVt4o7BGAig1UXywgGSmARhxMdzP5qvQsxKkSsc1XEkw3tDTQFpy"</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="ident">key_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="ident">bdk</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">my_key</span>))<span class="question-mark">?</span>;</pre></div>
+<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="ident">key_map</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="macro">bdk::descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">my_key</span>))<span class="question-mark">?</span>;</pre></div>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="Macro to write descriptor fragments with code"><meta name="keywords" content="rust, rustlang, rust-lang, fragment"><title>bdk::fragment - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc macro"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="fragment" data-ty="macro" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Macro <a href="index.html">bdk</a>::<wbr><a class="macro" href="">fragment</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/descriptor/dsl.rs.html#555-665" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">fragment</span> {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc macro"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="fragment" data-ty="macro" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Macro <a href="index.html">bdk</a>::<wbr><a class="macro" href="">fragment</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/descriptor/dsl.rs.html#555-665" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
+<span class="macro">macro_rules!</span> <span class="ident">fragment</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">tt</span> : $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> { ... };
( <span class="bool-val">true</span> ) <span class="op">=</span><span class="op">></span> { ... };
( <span class="bool-val">false</span> ) <span class="op">=</span><span class="op">></span> { ... };
<!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="Fee rate"><meta name="keywords" content="rust, rustlang, rust-lang, FeeRate"><title>bdk::FeeRate - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct FeeRate</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_sat_vb">as_sat_vb</a><a href="#method.default_min_relay_fee">default_min_relay_fee</a><a href="#method.from_btc_per_kvb">from_btc_per_kvb</a><a href="#method.from_sat_per_vb">from_sat_per_vb</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialEq%3CFeeRate%3E">PartialEq<FeeRate></a><a href="#impl-PartialOrd%3CFeeRate%3E">PartialOrd<FeeRate></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="FeeRate" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">FeeRate</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#50" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct FeeRate(_);</pre></div><div class="docblock"><p>Fee rate</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#52-72" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from_btc_per_kvb" class="method"><code>pub fn <a href="#method.from_btc_per_kvb" class="fnname">from_btc_per_kvb</a>(btc_per_kvb: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>) -> Self</code><a class="srclink" href="../src/bdk/types.rs.html#54-56" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> given a float fee rate in btc/kvbytes</p>
-</div><h4 id="method.from_sat_per_vb" class="method"><code>pub const fn <a href="#method.from_sat_per_vb" class="fnname">from_sat_per_vb</a>(sat_per_vb: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>) -> Self</code><a class="srclink" href="../src/bdk/types.rs.html#59-61" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> given a float fee rate in satoshi/vbyte</p>
-</div><h4 id="method.default_min_relay_fee" class="method"><code>pub const fn <a href="#method.default_min_relay_fee" class="fnname">default_min_relay_fee</a>() -> Self</code><a class="srclink" href="../src/bdk/types.rs.html#64-66" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> with the default min relay fee value</p>
-</div><h4 id="method.as_sat_vb" class="method"><code>pub fn <a href="#method.as_sat_vb" class="fnname">as_sat_vb</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a></code><a class="srclink" href="../src/bdk/types.rs.html#69-71" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the value as satoshi/vbyte</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#74-78" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../src/bdk/types.rs.html#75-77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CFeeRate%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-PartialEq%3CFeeRate%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct FeeRate</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.as_sat_vb">as_sat_vb</a><a href="#method.default_min_relay_fee">default_min_relay_fee</a><a href="#method.from_btc_per_kvb">from_btc_per_kvb</a><a href="#method.from_sat_per_vb">from_sat_per_vb</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-PartialEq%3CFeeRate%3E">PartialEq<FeeRate></a><a href="#impl-PartialOrd%3CFeeRate%3E">PartialOrd<FeeRate></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="FeeRate" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">FeeRate</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#50" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct FeeRate(_);</pre></div><div class="docblock"><p>Fee rate</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#52-72" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from_btc_per_kvb" class="method"><code>pub fn <a href="#method.from_btc_per_kvb" class="fnname">from_btc_per_kvb</a>(btc_per_kvb: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>) -> Self</code><a href="#method.from_btc_per_kvb" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#54-56" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> given a float fee rate in btc/kvbytes</p>
+</div><h4 id="method.from_sat_per_vb" class="method"><code>pub const fn <a href="#method.from_sat_per_vb" class="fnname">from_sat_per_vb</a>(sat_per_vb: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>) -> Self</code><a href="#method.from_sat_per_vb" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#59-61" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new instance of <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> given a float fee rate in satoshi/vbyte</p>
+</div><h4 id="method.default_min_relay_fee" class="method"><code>pub const fn <a href="#method.default_min_relay_fee" class="fnname">default_min_relay_fee</a>() -> Self</code><a href="#method.default_min_relay_fee" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#64-66" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new <a href="../bdk/struct.FeeRate.html" title="FeeRate"><code>FeeRate</code></a> with the default min relay fee value</p>
+</div><h4 id="method.as_sat_vb" class="method"><code>pub fn <a href="#method.as_sat_vb" class="fnname">as_sat_vb</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a></code><a href="#method.as_sat_vb" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#69-71" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the value as satoshi/vbyte</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#74-78" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#75-77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CFeeRate%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-PartialEq%3CFeeRate%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CFeeRate%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-PartialOrd%3CFeeRate%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CFeeRate%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-PartialOrd%3CFeeRate%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#48" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="An unspent output owned by a `Wallet`."><meta name="keywords" content="rust, rustlang, rust-lang, LocalUtxo"><title>bdk::LocalUtxo - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct LocalUtxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.keychain">keychain</a><a href="#structfield.outpoint">outpoint</a><a href="#structfield.txout">txout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CLocalUtxo%3E">PartialEq<LocalUtxo></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="LocalUtxo" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">LocalUtxo</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#84-91" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LocalUtxo {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct LocalUtxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.keychain">keychain</a><a href="#structfield.outpoint">outpoint</a><a href="#structfield.txout">txout</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CLocalUtxo%3E">PartialEq<LocalUtxo></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="LocalUtxo" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">LocalUtxo</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#84-91" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LocalUtxo {
pub outpoint: OutPoint,
pub txout: TxOut,
pub keychain: <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>,
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.outpoint" class="structfield small-section-header"><a href="#structfield.outpoint" class="anchor field"></a><code>outpoint: OutPoint</code></span><div class="docblock"><p>Reference to a transaction output</p>
</div><span id="structfield.txout" class="structfield small-section-header"><a href="#structfield.txout" class="anchor field"></a><code>txout: TxOut</code></span><div class="docblock"><p>Transaction output</p>
</div><span id="structfield.keychain" class="structfield small-section-header"><a href="#structfield.keychain" class="anchor field"></a><code>keychain: <a class="enum" href="../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a></code></span><div class="docblock"><p>Type of keychain</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CLocalUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-PartialEq%3CLocalUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CLocalUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-PartialEq%3CLocalUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#83" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="A wallet transaction"><meta name="keywords" content="rust, rustlang, rust-lang, TransactionDetails"><title>bdk::TransactionDetails - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct TransactionDetails</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.fees">fees</a><a href="#structfield.height">height</a><a href="#structfield.received">received</a><a href="#structfield.sent">sent</a><a href="#structfield.timestamp">timestamp</a><a href="#structfield.transaction">transaction</a><a href="#structfield.txid">txid</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CTransactionDetails%3E">PartialEq<TransactionDetails></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="TransactionDetails" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">TransactionDetails</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#153-168" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct TransactionDetails {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct TransactionDetails</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.fees">fees</a><a href="#structfield.height">height</a><a href="#structfield.received">received</a><a href="#structfield.sent">sent</a><a href="#structfield.timestamp">timestamp</a><a href="#structfield.transaction">transaction</a><a href="#structfield.txid">txid</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-Eq">Eq</a><a href="#impl-PartialEq%3CTransactionDetails%3E">PartialEq<TransactionDetails></a><a href="#impl-Serialize">Serialize</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="TransactionDetails" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">TransactionDetails</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#153-168" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct TransactionDetails {
pub transaction: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Transaction>,
pub txid: Txid,
pub timestamp: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>,
</div><span id="structfield.sent" class="structfield small-section-header"><a href="#structfield.sent" class="anchor field"></a><code>sent: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Sent value (sats)</p>
</div><span id="structfield.fees" class="structfield small-section-header"><a href="#structfield.fees" class="anchor field"></a><code>fees: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>Fee value (sats)</p>
</div><span id="structfield.height" class="structfield small-section-header"><a href="#structfield.height" class="anchor field"></a><code>height: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>></code></span><div class="docblock"><p>Confirmed in block height, <code>None</code> means unconfirmed</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CTransactionDetails%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-PartialEq%3CTransactionDetails%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-PartialEq%3CTransactionDetails%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-PartialEq%3CTransactionDetails%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#152" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="A [`Utxo`] with its `satisfaction_weight`."><meta name="keywords" content="rust, rustlang, rust-lang, WeightedUtxo"><title>bdk::WeightedUtxo - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><script src="../crates.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct WeightedUtxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.satisfaction_weight">satisfaction_weight</a><a href="#structfield.utxo">utxo</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-PartialEq%3CWeightedUtxo%3E">PartialEq<WeightedUtxo></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="WeightedUtxo" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">WeightedUtxo</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#95-103" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct WeightedUtxo {
+<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../bdk/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Struct WeightedUtxo</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.satisfaction_weight">satisfaction_weight</a><a href="#structfield.utxo">utxo</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-PartialEq%3CWeightedUtxo%3E">PartialEq<WeightedUtxo></a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="index.html">bdk</a></p><div id="sidebar-vars" data-name="WeightedUtxo" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">bdk</a>::<wbr><a class="struct" href="">WeightedUtxo</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/bdk/types.rs.html#95-103" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct WeightedUtxo {
pub satisfaction_weight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
pub utxo: <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>,
}</pre></div><div class="docblock"><p>A <a href="../bdk/enum.Utxo.html" title="Utxo"><code>Utxo</code></a> with its <code>satisfaction_weight</code>.</p>
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.satisfaction_weight" class="structfield small-section-header"><a href="#structfield.satisfaction_weight" class="anchor field"></a><code>satisfaction_weight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></span><div class="docblock"><p>The weight of the witness data and <code>scriptSig</code> expressed in <a href="https://en.bitcoin.it/wiki/Weight_units">weight units</a>. This is used to
properly maintain the feerate when adding this input to a transaction during coin selection.</p>
</div><span id="structfield.utxo" class="structfield small-section-header"><a href="#structfield.utxo" class="anchor field"></a><code>utxo: <a class="enum" href="../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a></code></span><div class="docblock"><p>The UTXO</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CWeightedUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-PartialEq%3CWeightedUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CWeightedUtxo%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-PartialEq%3CWeightedUtxo%3E" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../src/bdk/types.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="bdk" data-search-js="../search-index.js"></div>
<script src="../main.js"></script></body></html>
\ No newline at end of file
<!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="Errors that can be returned to fail the validation of an address"><meta name="keywords" content="rust, rustlang, rust-lang, AddressValidatorError"><title>bdk::wallet::address_validator::AddressValidatorError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AddressValidatorError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ConnectionError">ConnectionError</a><a href="#variant.InvalidScript">InvalidScript</a><a href="#variant.Message">Message</a><a href="#variant.TimeoutError">TimeoutError</a><a href="#variant.UserRejected">UserRejected</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CAddressValidatorError%3E">From<AddressValidatorError></a><a href="#impl-PartialEq%3CAddressValidatorError%3E">PartialEq<AddressValidatorError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a></p><div id="sidebar-vars" data-name="AddressValidatorError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a>::<wbr><a class="enum" href="">AddressValidatorError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#75-86" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AddressValidatorError {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AddressValidatorError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ConnectionError">ConnectionError</a><a href="#variant.InvalidScript">InvalidScript</a><a href="#variant.Message">Message</a><a href="#variant.TimeoutError">TimeoutError</a><a href="#variant.UserRejected">UserRejected</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CAddressValidatorError%3E">From<AddressValidatorError></a><a href="#impl-PartialEq%3CAddressValidatorError%3E">PartialEq<AddressValidatorError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a></p><div id="sidebar-vars" data-name="AddressValidatorError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a>::<wbr><a class="enum" href="">AddressValidatorError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#75-86" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AddressValidatorError {
UserRejected,
ConnectionError,
TimeoutError,
</div><div id="variant.TimeoutError" class="variant small-section-header"><a href="#variant.TimeoutError" class="anchor field"></a><code>TimeoutError</code></div><div class="docblock"><p>Network request timeout error</p>
</div><div id="variant.InvalidScript" class="variant small-section-header"><a href="#variant.InvalidScript" class="anchor field"></a><code>InvalidScript</code></div><div class="docblock"><p>Invalid script</p>
</div><div id="variant.Message" class="variant small-section-header"><a href="#variant.Message" class="anchor field"></a><code>Message(<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>)</code></div><div class="docblock"><p>A custom error message</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#88-92" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#89-91" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-PartialEq%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#88-92" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#89-91" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#94" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#153" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CAddressValidatorError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-PartialEq%3CAddressValidatorError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#74" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Address validation callbacks"><meta name="keywords" content="rust, rustlang, rust-lang, address_validator"><title>bdk::wallet::address_validator - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module address_validator</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="address_validator" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">address_validator</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#12-154" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Address validation callbacks</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module address_validator</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="address_validator" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">address_validator</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#12-154" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Address validation callbacks</p>
<p>The typical usage of those callbacks is for displaying the newly-generated address on a
hardware wallet, so that the user can cross-check its correctness.</p>
<p>More generally speaking though, these callbacks can also be used to “do something” every time
<span class="ident">hd_keypaths</span>: <span class="kw-2">&</span><span class="ident">HdKeyPaths</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">AddressValidatorError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_script</span>(<span class="ident">script</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ <span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">Address::from_script</span>(<span class="ident">script</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">as_ref</span>()
- .<span class="ident">map</span>(<span class="ident">Address</span>::<span class="ident">to_string</span>)
+ .<span class="ident">map</span>(<span class="ident">Address::to_string</span>)
.<span class="ident">unwrap_or</span>(<span class="ident">script</span>.<span class="ident">to_string</span>());
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"New address of type {:?}: {}"</span>, <span class="ident">keychain</span>, <span class="ident">address</span>);
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"HD keypaths: {:#?}"</span>, <span class="ident">hd_keypaths</span>);
+ <span class="macro">println!</span>(<span class="string">"New address of type {:?}: {}"</span>, <span class="ident">keychain</span>, <span class="ident">address</span>);
+ <span class="macro">println!</span>(<span class="string">"HD keypaths: {:#?}"</span>, <span class="ident">hd_keypaths</span>);
<span class="prelude-val">Ok</span>(())
}
}
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4Xferm7Pz4VnjdcDPFyjVu5K4iZXQ4pVN8Cks4pHVowTBXBKRhX64pkRyJZJN5xAKj4UDNnLPb5p2sSKXhewoYx5GbTdUFWq/*)"</span>;
-<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>())<span class="question-mark">?</span>;
-<span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">PrintAddressAndContinue</span>));
+<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">MemoryDatabase::default</span>())<span class="question-mark">?</span>;
+<span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc::new</span>(<span class="ident">PrintAddressAndContinue</span>));
<span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>)<span class="question-mark">?</span>;
-<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Address: {}"</span>, <span class="ident">address</span>);</pre></div>
+<span class="macro">println!</span>(<span class="string">"Address: {}"</span>, <span class="ident">address</span>);</pre></div>
</div><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
<table><tr class="module-item"><td><a class="enum" href="enum.AddressValidatorError.html" title="bdk::wallet::address_validator::AddressValidatorError enum">AddressValidatorError</a></td><td class="docblock-short"><p>Errors that can be returned to fail the validation of an address</p>
</td></tr></table><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
<!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="Trait to build address validators"><meta name="keywords" content="rust, rustlang, rust-lang, AddressValidator"><title>bdk::wallet::address_validator::AddressValidator - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait AddressValidator</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.validate">validate</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a></p><div id="sidebar-vars" data-name="AddressValidator" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a>::<wbr><a class="trait" href="">AddressValidator</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#103-111" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait AddressValidator: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait AddressValidator</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.validate">validate</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a></p><div id="sidebar-vars" data-name="AddressValidator" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">address_validator</a>::<wbr><a class="trait" href="">AddressValidator</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/address_validator.rs.html#103-111" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait AddressValidator: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
fn <a href="#tymethod.validate" class="fnname">validate</a>(<br> &self, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> hd_keypaths: &<a class="type" href="../../../bdk/descriptor/type.HdKeyPaths.html" title="type bdk::descriptor::HdKeyPaths">HdKeyPaths</a>, <br> script: &Script<br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/address_validator/enum.AddressValidatorError.html" title="enum bdk::wallet::address_validator::AddressValidatorError">AddressValidatorError</a>>;
}</pre></div><div class="docblock"><p>Trait to build address validators</p>
<p>All the address validators attached to a wallet with <a href="../../../bdk/wallet/struct.Wallet.html#method.add_address_validator"><code>Wallet::add_address_validator</code></a> will be polled
<!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="Coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, coin_selection"><title>bdk::wallet::coin_selection - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module coin_selection</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="coin_selection" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">coin_selection</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#12-1038" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Coin selection</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module coin_selection</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="coin_selection" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">coin_selection</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#12-1038" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Coin selection</p>
<p>This module provides the trait <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="CoinSelectionAlgorithm"><code>CoinSelectionAlgorithm</code></a> that can be implemented to
define custom coin selection algorithms.</p>
<p>You can specify a custom coin selection algorithm through the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.coin_selection"><code>coin_selection</code></a> method on
<span class="ident">fee_rate</span>: <span class="ident">FeeRate</span>,
<span class="ident">amount_needed</span>: <span class="ident">u64</span>,
<span class="ident">fee_amount</span>: <span class="ident">f32</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CoinSelectionResult</span>, <span class="ident">bdk</span>::<span class="ident">Error</span><span class="op">></span> {
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CoinSelectionResult</span>, <span class="ident">bdk::Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">selected_amount</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">additional_weight</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">let</span> <span class="ident">all_utxos_selected</span> <span class="op">=</span> <span class="ident">required_utxos</span>
<span class="kw">let</span> <span class="ident">additional_fees</span> <span class="op">=</span> <span class="ident">additional_weight</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">fee_rate</span>.<span class="ident">as_sat_vb</span>() <span class="op">/</span> <span class="number">4.0</span>;
<span class="kw">let</span> <span class="ident">amount_needed_with_fees</span> <span class="op">=</span> (<span class="ident">fee_amount</span> <span class="op">+</span> <span class="ident">additional_fees</span>).<span class="ident">ceil</span>() <span class="kw">as</span> <span class="ident">u64</span> <span class="op">+</span> <span class="ident">amount_needed</span>;
<span class="kw">if</span> <span class="ident">amount_needed_with_fees</span> <span class="op">></span> <span class="ident">selected_amount</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">bdk</span>::<span class="ident">Error</span>::<span class="ident">InsufficientFunds</span>{ <span class="ident">needed</span>: <span class="ident">amount_needed_with_fees</span>, <span class="ident">available</span>: <span class="ident">selected_amount</span> });
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">bdk::Error::InsufficientFunds</span>{ <span class="ident">needed</span>: <span class="ident">amount_needed_with_fees</span>, <span class="ident">available</span>: <span class="ident">selected_amount</span> });
}
<span class="prelude-val">Ok</span>(<span class="ident">CoinSelectionResult</span> {
<span class="comment">// create wallet, sync, ...</span>
-<span class="kw">let</span> <span class="ident">to_address</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N4eQYCbKUHCCTUjBJeHcJp9ok6J2GZsTDt"</span>).<span class="ident">unwrap</span>();
+<span class="kw">let</span> <span class="ident">to_address</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N4eQYCbKUHCCTUjBJeHcJp9ok6J2GZsTDt"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>().<span class="ident">coin_selection</span>(<span class="ident">AlwaysSpendEverything</span>);
<span class="ident">builder</span>
<!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="Branch and bound coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, BranchAndBoundCoinSelection"><title>bdk::wallet::coin_selection::BranchAndBoundCoinSelection - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BranchAndBoundCoinSelection</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-CoinSelectionAlgorithm%3CD%3E">CoinSelectionAlgorithm<D></a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="BranchAndBoundCoinSelection" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">BranchAndBoundCoinSelection</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#268-270" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BranchAndBoundCoinSelection { /* fields omitted */ }</pre></div><div class="docblock"><p>Branch and bound coin selection</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BranchAndBoundCoinSelection</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-CoinSelectionAlgorithm%3CD%3E">CoinSelectionAlgorithm<D></a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="BranchAndBoundCoinSelection" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">BranchAndBoundCoinSelection</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#268-270" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BranchAndBoundCoinSelection { /* fields omitted */ }</pre></div><div class="docblock"><p>Branch and bound coin selection</p>
<p>Code adapted from Bitcoin Core’s implementation and from Mark Erhardt Master’s Thesis: <a href="http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf">http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf</a></p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#281-286" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(size_of_change: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> Self</code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#283-285" title="goto source code">[src]</a></h4><div class="docblock"><p>Create new instance with target size for change output</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#290-360" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden"><code>fn <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#291-359" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Perform the coin selection <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#267" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#267" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#272-279" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#273-278" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#281-286" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>(size_of_change: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> Self</code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#283-285" title="goto source code">[src]</a></h4><div class="docblock"><p>Create new instance with target size for change output</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#290-360" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden trait-impl"><code>fn <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.coin_select" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#291-359" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Perform the coin selection <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#267" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#267" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#272-279" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#273-278" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Result of a successful coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, CoinSelectionResult"><title>bdk::wallet::coin_selection::CoinSelectionResult - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CoinSelectionResult</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.fee_amount">fee_amount</a><a href="#structfield.selected">selected</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.local_selected_amount">local_selected_amount</a><a href="#method.selected_amount">selected_amount</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="CoinSelectionResult" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">CoinSelectionResult</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#109-114" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CoinSelectionResult {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CoinSelectionResult</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.fee_amount">fee_amount</a><a href="#structfield.selected">selected</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.local_selected_amount">local_selected_amount</a><a href="#method.selected_amount">selected_amount</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="CoinSelectionResult" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">CoinSelectionResult</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#109-114" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CoinSelectionResult {
pub selected: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="../../../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>>,
pub fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a>,
}</pre></div><div class="docblock"><p>Result of a successful coin selection</p>
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.selected" class="structfield small-section-header"><a href="#structfield.selected" class="anchor field"></a><code>selected: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="enum" href="../../../bdk/enum.Utxo.html" title="enum bdk::Utxo">Utxo</a>></code></span><div class="docblock"><p>List of outputs selected for use as inputs</p>
</div><span id="structfield.fee_amount" class="structfield small-section-header"><a href="#structfield.fee_amount" class="anchor field"></a><code>fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a></code></span><div class="docblock"><p>Total fee amount in satoshi</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#116-132" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.selected_amount" class="method"><code>pub fn <a href="#method.selected_amount" class="fnname">selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#118-120" title="goto source code">[src]</a></h4><div class="docblock"><p>The total value of the inputs selected.</p>
-</div><h4 id="method.local_selected_amount" class="method"><code>pub fn <a href="#method.local_selected_amount" class="fnname">local_selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#123-131" title="goto source code">[src]</a></h4><div class="docblock"><p>The total value of the inputs selected from the local wallet.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#108" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#108" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#116-132" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.selected_amount" class="method"><code>pub fn <a href="#method.selected_amount" class="fnname">selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a href="#method.selected_amount" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#118-120" title="goto source code">[src]</a></h4><div class="docblock"><p>The total value of the inputs selected.</p>
+</div><h4 id="method.local_selected_amount" class="method"><code>pub fn <a href="#method.local_selected_amount" class="fnname">local_selected_amount</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a href="#method.local_selected_amount" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#123-131" title="goto source code">[src]</a></h4><div class="docblock"><p>The total value of the inputs selected from the local wallet.</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#108" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#108" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Simple and dumb coin selection"><meta name="keywords" content="rust, rustlang, rust-lang, LargestFirstCoinSelection"><title>bdk::wallet::coin_selection::LargestFirstCoinSelection - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct LargestFirstCoinSelection</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-CoinSelectionAlgorithm%3CD%3E">CoinSelectionAlgorithm<D></a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="LargestFirstCoinSelection" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">LargestFirstCoinSelection</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#169" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LargestFirstCoinSelection;</pre></div><div class="docblock"><p>Simple and dumb coin selection</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct LargestFirstCoinSelection</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-CoinSelectionAlgorithm%3CD%3E">CoinSelectionAlgorithm<D></a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="LargestFirstCoinSelection" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="struct" href="">LargestFirstCoinSelection</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#169" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct LargestFirstCoinSelection;</pre></div><div class="docblock"><p>Simple and dumb coin selection</p>
<p>This coin selection algorithm sorts the available UTXOs by value and then picks them starting
from the largest ones until the required amount is reached.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#171-239" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden"><code>fn <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#172-238" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Perform the coin selection <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#171-239" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden trait-impl"><code>fn <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.coin_select" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#172-238" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Perform the coin selection <a href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html#tymethod.coin_select">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for generalized coin selection algorithms"><meta name="keywords" content="rust, rustlang, rust-lang, CoinSelectionAlgorithm"><title>bdk::wallet::coin_selection::CoinSelectionAlgorithm - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait CoinSelectionAlgorithm</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.coin_select">coin_select</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="CoinSelectionAlgorithm" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="trait" href="">CoinSelectionAlgorithm</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#140-162" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait CoinSelectionAlgorithm<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait CoinSelectionAlgorithm</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.coin_select">coin_select</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="CoinSelectionAlgorithm" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="trait" href="">CoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#140-162" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait CoinSelectionAlgorithm<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> {
fn <a href="#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>>;
}</pre></div><div class="docblock"><p>Trait for generalized coin selection algorithms</p>
<p>This trait can be implemented to make the <a href="../../../bdk/wallet/struct.Wallet.html"><code>Wallet</code></a> use a customized coin
<li><code>fee_amount</code>: the amount of fees in satoshi already accumulated from adding outputs and
the transaction’s header</li>
</ul>
-</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#290-360" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden"><code>fn <a href="#method.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#291-359" title="goto source code">[src]</a></h4></div><h3 id="impl-CoinSelectionAlgorithm%3CD%3E-1" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#171-239" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select-1" class="method hidden"><code>fn <a href="#method.coin_select-1" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#172-238" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-CoinSelectionAlgorithm%3CD%3E" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#290-360" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select" class="method hidden trait-impl"><code>fn <a href="#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.coin_select" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#291-359" title="goto source code">[src]</a></h4></div><h3 id="impl-CoinSelectionAlgorithm%3CD%3E-1" class="impl"><code class="in-band">impl<D: <a class="trait" href="../../../bdk/database/trait.Database.html" title="trait bdk::database::Database">Database</a>> <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D> for <a class="struct" href="../../../bdk/wallet/coin_selection/struct.LargestFirstCoinSelection.html" title="struct bdk::wallet::coin_selection::LargestFirstCoinSelection">LargestFirstCoinSelection</a></code><a href="#impl-CoinSelectionAlgorithm%3CD%3E-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#171-239" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.coin_select-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.coin_select" class="fnname">coin_select</a>(<br> &self, <br> _database: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>D, <br> required_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> optional_utxos: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../../bdk/struct.WeightedUtxo.html" title="struct bdk::WeightedUtxo">WeightedUtxo</a>>, <br> fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>, <br> amount_needed: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <br> fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.f32.html">f32</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../../bdk/wallet/coin_selection/struct.CoinSelectionResult.html" title="struct bdk::wallet::coin_selection::CoinSelectionResult">CoinSelectionResult</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.coin_select-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#172-238" title="goto source code">[src]</a></h4></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Default coin selection algorithm used by `TxBuilder` if not overridden"><meta name="keywords" content="rust, rustlang, rust-lang, DefaultCoinSelectionAlgorithm"><title>bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DefaultCoinSelectionAlgorithm</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="DefaultCoinSelectionAlgorithm" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="type" href="">DefaultCoinSelectionAlgorithm</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#99" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DefaultCoinSelectionAlgorithm = <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a>;</pre><div class="docblock"><p>Default coin selection algorithm used by <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html"><code>TxBuilder</code></a> if not
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition DefaultCoinSelectionAlgorithm</p><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a></p><div id="sidebar-vars" data-name="DefaultCoinSelectionAlgorithm" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">coin_selection</a>::<wbr><a class="type" href="">DefaultCoinSelectionAlgorithm</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/coin_selection.rs.html#99" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type DefaultCoinSelectionAlgorithm = <a class="struct" href="../../../bdk/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html" title="struct bdk::wallet::coin_selection::BranchAndBoundCoinSelection">BranchAndBoundCoinSelection</a>;</pre><div class="docblock"><p>Default coin selection algorithm used by <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html"><code>TxBuilder</code></a> if not
overridden</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="The address index selection strategy to use to derived an address from the wallet’s external descriptor. See [`Wallet::get_address`]. If you’re unsure which one to use use `WalletIndex::New`."><meta name="keywords" content="rust, rustlang, rust-lang, AddressIndex"><title>bdk::wallet::AddressIndex - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AddressIndex</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.LastUnused">LastUnused</a><a href="#variant.New">New</a><a href="#variant.Peek">Peek</a><a href="#variant.Reset">Reset</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="AddressIndex" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="enum" href="">AddressIndex</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#169-195" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AddressIndex {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Enum AddressIndex</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.LastUnused">LastUnused</a><a href="#variant.New">New</a><a href="#variant.Peek">Peek</a><a href="#variant.Reset">Reset</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="AddressIndex" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="enum" href="">AddressIndex</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#169-195" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum AddressIndex {
New,
LastUnused,
Peek(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>),
and <code>AddressIndex::LastUsed</code> may have already been used. Also if the index is reset to a
value earlier than the <a href="../../bdk/blockchain/trait.Blockchain.html" title="crate::blockchain::Blockchain"><code>crate::blockchain::Blockchain</code></a> stop_gap (default is 20) then a
larger stop_gap should be used to monitor for all possibly used addresses.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#168" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#168" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Wallet export"><meta name="keywords" content="rust, rustlang, rust-lang, export"><title>bdk::wallet::export - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module export</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="export" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">export</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#12-346" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Wallet export</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module export</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="export" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">export</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#12-346" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Wallet export</p>
<p>This modules implements the wallet export format used by <a href="https://github.com/Fonta1n3/FullyNoded/blob/10b7808c8b929b171cca537fb50522d015168ac9/Docs/Wallets/Wallet-Export-Spec.md">FullyNoded</a>.</p>
<h2 id="examples" class="section-header"><a href="#examples">Examples</a></h2><h3 id="import-from-json" class="section-header"><a href="#import-from-json">Import from JSON</a></h3>
<div class="example-wrap"><pre class="rust rust-example-rendered">
"label":"testnet"
}"#</span>;
-<span class="kw">let</span> <span class="ident">import</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">from_str</span>(<span class="ident">import</span>)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+<span class="kw">let</span> <span class="ident">import</span> <span class="op">=</span> <span class="ident">WalletExport::from_str</span>(<span class="ident">import</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="kw-2">&</span><span class="ident">import</span>.<span class="ident">descriptor</span>(),
<span class="ident">import</span>.<span class="ident">change_descriptor</span>().<span class="ident">as_ref</span>(),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>(),
)<span class="question-mark">?</span>;</pre></div>
<h3 id="export-a-wallet" class="section-header"><a href="#export-a-wallet">Export a <code>Wallet</code></a></h3>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDD3ynpHgJQW8VvWRzQ5WFDCrs4jqVFGHB3vLC3r49XHJSqP8bHKdK4AriuUKLccK68zfzowx7YhmDN8SiSkgCDENUFx9qVw65YyqM78vyVe/0/*)"</span>,
<span class="prelude-val">Some</span>(<span class="string">"wpkh([c258d2e4/84h/1h/0h]tpubDD3ynpHgJQW8VvWRzQ5WFDCrs4jqVFGHB3vLC3r49XHJSqP8bHKdK4AriuUKLccK68zfzowx7YhmDN8SiSkgCDENUFx9qVw65YyqM78vyVe/1/*)"</span>),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>()
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::default</span>()
)<span class="question-mark">?</span>;
-<span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"exported wallet"</span>, <span class="bool-val">true</span>)
- .<span class="ident">map_err</span>(<span class="ident">ToString</span>::<span class="ident">to_string</span>)
- .<span class="ident">map_err</span>(<span class="ident">bdk</span>::<span class="ident">Error</span>::<span class="ident">Generic</span>)<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"exported wallet"</span>, <span class="bool-val">true</span>)
+ .<span class="ident">map_err</span>(<span class="ident">ToString::to_string</span>)
+ .<span class="ident">map_err</span>(<span class="ident">bdk::Error::Generic</span>)<span class="question-mark">?</span>;
-<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Exported: {}"</span>, <span class="ident">export</span>.<span class="ident">to_string</span>());</pre></div>
+<span class="macro">println!</span>(<span class="string">"Exported: {}"</span>, <span class="ident">export</span>.<span class="ident">to_string</span>());</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<table><tr class="module-item"><td><a class="struct" href="struct.WalletExport.html" title="bdk::wallet::export::WalletExport struct">WalletExport</a></td><td class="docblock-short"><p>Structure that contains the export of a wallet</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<!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="Structure that contains the export of a wallet"><meta name="keywords" content="rust, rustlang, rust-lang, WalletExport"><title>bdk::wallet::export::WalletExport - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct WalletExport</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.blockheight">blockheight</a><a href="#structfield.label">label</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.change_descriptor">change_descriptor</a><a href="#method.descriptor">descriptor</a><a href="#method.export_wallet">export_wallet</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-FromStr">FromStr</a><a href="#impl-Serialize">Serialize</a><a href="#impl-ToString">ToString</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">export</a></p><div id="sidebar-vars" data-name="WalletExport" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">export</a>::<wbr><a class="struct" href="">WalletExport</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#76-82" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct WalletExport {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct WalletExport</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#fields">Fields</a><div class="sidebar-links"><a href="#structfield.blockheight">blockheight</a><a href="#structfield.label">label</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.change_descriptor">change_descriptor</a><a href="#method.descriptor">descriptor</a><a href="#method.export_wallet">export_wallet</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a><a href="#impl-Deserialize%3C%27de%3E">Deserialize<'de></a><a href="#impl-FromStr">FromStr</a><a href="#impl-Serialize">Serialize</a><a href="#impl-ToString">ToString</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-DeserializeOwned">DeserializeOwned</a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">export</a></p><div id="sidebar-vars" data-name="WalletExport" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">export</a>::<wbr><a class="struct" href="">WalletExport</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#76-82" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct WalletExport {
pub blockheight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>,
pub label: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
// some fields omitted
</div><h2 id="fields" class="fields small-section-header">
Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.blockheight" class="structfield small-section-header"><a href="#structfield.blockheight" class="anchor field"></a><code>blockheight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Earliest block to rescan when looking for the wallet’s transactions</p>
</div><span id="structfield.label" class="structfield small-section-header"><a href="#structfield.label" class="anchor field"></a><code>label: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Arbitrary label for the wallet</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#102-203" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.export_wallet" class="method"><code>pub fn <a href="#method.export_wallet" class="fnname">export_wallet</a><B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>(<br> wallet: &<a class="struct" href="../../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D>, <br> label: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> include_blockheight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#114-155" title="goto source code">[src]</a></h4><div class="docblock"><p>Export a wallet</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#102-203" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.export_wallet" class="method"><code>pub fn <a href="#method.export_wallet" class="fnname">export_wallet</a><B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>>(<br> wallet: &<a class="struct" href="../../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D>, <br> label: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br> include_blockheight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, &'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>></code><a href="#method.export_wallet" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#114-155" title="goto source code">[src]</a></h4><div class="docblock"><p>Export a wallet</p>
<p>This function returns an error if it determines that the <code>wallet</code>’s descriptor(s) are not
supported by Bitcoin Core or don’t follow the standard derivation paths defined by BIP44
and others.</p>
for the oldest transaction it knows and use that as the earliest block to rescan.</p>
<p>If the database is empty or <code>include_blockheight</code> is false, the <code>blockheight</code> field
returned will be <code>0</code>.</p>
-</div><h4 id="method.descriptor" class="method"><code>pub fn <a href="#method.descriptor" class="fnname">descriptor</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#189-191" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the external descriptor</p>
-</div><h4 id="method.change_descriptor" class="method"><code>pub fn <a href="#method.change_descriptor" class="fnname">change_descriptor</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#194-202" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the internal descriptor, if present</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
-</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-FromStr" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#90-96" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = <a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a></code></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
-</div><h4 id="method.from_str" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#93-95" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
-</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#84-88" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#85-87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.descriptor" class="method"><code>pub fn <a href="#method.descriptor" class="fnname">descriptor</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#189-191" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the external descriptor</p>
+</div><h4 id="method.change_descriptor" class="method"><code>pub fn <a href="#method.change_descriptor" class="fnname">change_descriptor</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>></code><a href="#method.change_descriptor" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#194-202" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the internal descriptor, if present</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Deserialize%3C%27de%3E" class="impl"><code class="in-band">impl<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Deserialize%3C%27de%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.deserialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fnname">deserialize</a><__D>(__deserializer: __D) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, __D::<a class="type" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>> <span class="where fmt-newline">where<br> __D: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a><'de>, </span></code><a href="#method.deserialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></p>
+</div></div><h3 id="impl-FromStr" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html" title="trait core::str::traits::FromStr">FromStr</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-FromStr" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#90-96" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Err" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" class="type">Err</a> = <a class="struct" href="https://docs.rs/serde_json/1.0.64/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a></code><a href="#associatedtype.Err" class="anchor"></a></h4><div class='docblock'><p>The associated error which can be returned from parsing.</p>
+</div><h4 id="method.from_str" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str" class="fnname">from_str</a>(s: &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Self::<a class="type" href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#associatedtype.Err" title="type core::str::traits::FromStr::Err">Err</a>></code><a href="#method.from_str" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#93-95" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Parses a string <code>s</code> to return a value of this type. <a href="https://doc.rust-lang.org/nightly/core/str/traits/trait.FromStr.html#tymethod.from_str">Read more</a></p>
+</div></div><h3 id="impl-Serialize" class="impl"><code class="in-band">impl <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.serialize" class="method hidden trait-impl"><code>fn <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize" class="fnname">serialize</a><__S>(&self, __serializer: __S) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><__S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="type" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>> <span class="where fmt-newline">where<br> __S: <a class="trait" href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>, </span></code><a href="#method.serialize" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#75" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.125/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></p>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#84-88" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/export.rs.html#85-87" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/export/struct.WalletExport.html" title="struct bdk::wallet::export::WalletExport">WalletExport</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-DeserializeOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T <span class="where fmt-newline">where<br> T: for<'de> <a class="trait" href="https://docs.rs/serde/1.0.125/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'de>, </span></code><a href="#impl-DeserializeOwned" class="anchor"></a><a class="srclink" href="https://docs.rs/serde/1.0.125/src/serde/de/mod.rs.html#603" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Wallet"><meta name="keywords" content="rust, rustlang, rust-lang, wallet"><title>bdk::wallet - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module wallet</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="wallet" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">wallet</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#12-3752" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Wallet</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module wallet</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../index.html">bdk</a></p><div id="sidebar-vars" data-name="wallet" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">bdk</a>::<wbr><a class="mod" href="">wallet</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#12-3752" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Wallet</p>
<p>This module defines the <a href="../../bdk/wallet/struct.Wallet.html" title="Wallet"><code>Wallet</code></a> structure.</p>
</div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
<table><tr class="module-item"><td><a class="mod" href="address_validator/index.html" title="bdk::wallet::address_validator mod">address_validator</a></td><td class="docblock-short"><p>Address validation callbacks</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="Signing error"><meta name="keywords" content="rust, rustlang, rust-lang, SignerError"><title>bdk::wallet::signer::SignerError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SignerError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.InputIndexOutOfRange">InputIndexOutOfRange</a><a href="#variant.InvalidKey">InvalidKey</a><a href="#variant.InvalidNonWitnessUtxo">InvalidNonWitnessUtxo</a><a href="#variant.MissingHdKeypath">MissingHdKeypath</a><a href="#variant.MissingKey">MissingKey</a><a href="#variant.MissingNonWitnessUtxo">MissingNonWitnessUtxo</a><a href="#variant.MissingWitnessScript">MissingWitnessScript</a><a href="#variant.MissingWitnessUtxo">MissingWitnessUtxo</a><a href="#variant.UserCanceled">UserCanceled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CSignerError%3E">From<SignerError></a><a href="#impl-PartialEq%3CSignerError%3E">PartialEq<SignerError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="enum" href="">SignerError</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#131-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SignerError {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SignerError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.InputIndexOutOfRange">InputIndexOutOfRange</a><a href="#variant.InvalidKey">InvalidKey</a><a href="#variant.InvalidNonWitnessUtxo">InvalidNonWitnessUtxo</a><a href="#variant.MissingHdKeypath">MissingHdKeypath</a><a href="#variant.MissingKey">MissingKey</a><a href="#variant.MissingNonWitnessUtxo">MissingNonWitnessUtxo</a><a href="#variant.MissingWitnessScript">MissingWitnessScript</a><a href="#variant.MissingWitnessUtxo">MissingWitnessUtxo</a><a href="#variant.UserCanceled">UserCanceled</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Display">Display</a><a href="#impl-Eq">Eq</a><a href="#impl-Error">Error</a><a href="#impl-From%3CSignerError%3E">From<SignerError></a><a href="#impl-PartialEq%3CSignerError%3E">PartialEq<SignerError></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-ToString">ToString</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerError" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="enum" href="">SignerError</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#131-150" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SignerError {
MissingKey,
InvalidKey,
UserCanceled,
</div><div id="variant.MissingWitnessUtxo" class="variant small-section-header"><a href="#variant.MissingWitnessUtxo" class="anchor field"></a><code>MissingWitnessUtxo</code></div><div class="docblock"><p>The <code>witness_utxo</code> field of the transaction is required to sign this input</p>
</div><div id="variant.MissingWitnessScript" class="variant small-section-header"><a href="#variant.MissingWitnessScript" class="anchor field"></a><code>MissingWitnessScript</code></div><div class="docblock"><p>The <code>witness_script</code> field of the transaction is requied to sign this input</p>
</div><div id="variant.MissingHdKeypath" class="variant small-section-header"><a href="#variant.MissingHdKeypath" class="anchor field"></a><code>MissingHdKeypath</code></div><div class="docblock"><p>The fingerprint and derivation path are missing from the psbt input</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#152-156" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#153-155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#158" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#99" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
-</div><h4 id="method.backtrace" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#127" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
-</div><h4 id="method.description" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#139" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
-</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#149" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
-</div></div></div><h3 id="impl-From%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> Self</code><a class="srclink" href="../../../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-PartialEq%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-PartialEq%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Display" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Display" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#152-156" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#153-155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Error" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Error" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#158" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.source" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source" class="fnname">source</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&(dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a> + 'static)></code><span class="since" title="Stable since Rust version 1.30.0">1.30.0</span><a href="#method.source" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#106" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.source">Read more</a></p>
+</div><h4 id="method.backtrace" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace" class="fnname">backtrace</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/std/backtrace/struct.Backtrace.html" title="struct std::backtrace::Backtrace">Backtrace</a>></code><a href="#method.backtrace" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#134" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>backtrace</code>)</div></div><div class='docblock hidden'><p>Returns a stack backtrace, if available, of where this error occurred. <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.backtrace">Read more</a></p>
+</div><h4 id="method.description" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description" class="fnname">description</a>(&self) -> &<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.description" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#146" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.42.0: <p>use the Display impl or to_string()</p>
+</div></div><div class='docblock hidden'> <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.description">Read more</a></div><h4 id="method.cause" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html#method.cause" class="fnname">cause</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&dyn <a class="trait" href="https://doc.rust-lang.org/nightly/std/error/trait.Error.html" title="trait std::error::Error">Error</a>></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.cause" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/std/error.rs.html#156" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 1.33.0: <p>replaced by Error::source, which can support downcasting</p>
+</div></div></div><h3 id="impl-From%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a></code><a href="#impl-From%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(err: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> Self</code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/error.rs.html#155" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-PartialEq%3CSignerError%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-PartialEq%3CSignerError%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#130" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-ToString" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-ToString" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2268-2281" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.to_string" class="method hidden trait-impl"><code>pub default fn <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string" class="fnname">to_string</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code><a href="#method.to_string" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2274" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Identifier of a signer in the `SignersContainers`. Used as a key to find the right signer among multiple of them"><meta name="keywords" content="rust, rustlang, rust-lang, SignerId"><title>bdk::wallet::signer::SignerId - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SignerId</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Dummy">Dummy</a><a href="#variant.Fingerprint">Fingerprint</a><a href="#variant.PkHash">PkHash</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-From%3CFingerprint%3E">From<Fingerprint></a><a href="#impl-From%3CHash%3E">From<Hash></a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSignerId%3E">PartialEq<SignerId></a><a href="#impl-PartialOrd%3CSignerId%3E">PartialOrd<SignerId></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerId" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="enum" href="">SignerId</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#108-115" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SignerId {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum SignerId</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Dummy">Dummy</a><a href="#variant.Fingerprint">Fingerprint</a><a href="#variant.PkHash">PkHash</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-From%3CFingerprint%3E">From<Fingerprint></a><a href="#impl-From%3CHash%3E">From<Hash></a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSignerId%3E">PartialEq<SignerId></a><a href="#impl-PartialOrd%3CSignerId%3E">PartialOrd<SignerId></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerId" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="enum" href="">SignerId</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#108-115" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum SignerId {
PkHash(Hash),
Fingerprint(Fingerprint),
Dummy(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>),
<div id="variant.PkHash" class="variant small-section-header"><a href="#variant.PkHash" class="anchor field"></a><code>PkHash(Hash)</code></div><div class="docblock"><p>Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA public key</p>
</div><div id="variant.Fingerprint" class="variant small-section-header"><a href="#variant.Fingerprint" class="anchor field"></a><code>Fingerprint(Fingerprint)</code></div><div class="docblock"><p>The fingerprint of a BIP32 extended key</p>
</div><div id="variant.Dummy" class="variant small-section-header"><a href="#variant.Dummy" class="anchor field"></a><code>Dummy(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>)</code></div><div class="docblock"><p>Dummy identifier</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CFingerprint%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Fingerprint> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-From%3CFingerprint%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#123-127" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(fing: Fingerprint) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#124-126" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-From%3CHash%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Hash> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-From%3CHash%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#117-121" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(hash: Hash) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#118-120" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CSignerId%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-PartialEq%3CSignerId%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-From%3CFingerprint%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Fingerprint> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-From%3CFingerprint%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#123-127" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(fing: Fingerprint) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#124-126" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-From%3CHash%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><Hash> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-From%3CHash%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#117-121" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(hash: Hash) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#118-120" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CSignerId%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-PartialEq%3CSignerId%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CSignerId%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-PartialOrd%3CSignerId%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CSignerId%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-PartialOrd%3CSignerId%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#107" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-2" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-2" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Generalized signers"><meta name="keywords" content="rust, rustlang, rust-lang, signer"><title>bdk::wallet::signer - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module signer</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="signer" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">signer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#12-687" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Generalized signers</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module signer</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="signer" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">signer</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#12-687" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Generalized signers</p>
<p>This module provides the ability to add customized signers to a <a href="../../../bdk/wallet/struct.Wallet.html"><code>Wallet</code></a>
through the <a href="../../../bdk/wallet/struct.Wallet.html#method.add_signer"><code>Wallet::add_signer</code></a> function.</p>
<span class="kw">impl</span> <span class="ident">CustomSigner</span> {
<span class="kw">fn</span> <span class="ident">connect</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">CustomSigner</span> { <span class="ident">device</span>: <span class="ident">CustomHSM</span>::<span class="ident">connect</span>() }
+ <span class="ident">CustomSigner</span> { <span class="ident">device</span>: <span class="ident">CustomHSM::connect</span>() }
}
}
<span class="kw">impl</span> <span class="ident">Signer</span> <span class="kw">for</span> <span class="ident">CustomSigner</span> {
<span class="kw">fn</span> <span class="ident">sign</span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>,
<span class="ident">_secp</span>: <span class="kw-2">&</span><span class="ident">Secp256k1</span><span class="op"><</span><span class="ident">All</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">SignerError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">input_index</span> <span class="op">=</span> <span class="ident">input_index</span>.<span class="ident">ok_or</span>(<span class="ident">SignerError</span>::<span class="ident">InputIndexOutOfRange</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">input_index</span> <span class="op">=</span> <span class="ident">input_index</span>.<span class="ident">ok_or</span>(<span class="ident">SignerError::InputIndexOutOfRange</span>)<span class="question-mark">?</span>;
<span class="self">self</span>.<span class="ident">device</span>.<span class="ident">sign_input</span>(<span class="ident">psbt</span>, <span class="ident">input_index</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
}
}
-<span class="kw">let</span> <span class="ident">custom_signer</span> <span class="op">=</span> <span class="ident">CustomSigner</span>::<span class="ident">connect</span>();
+<span class="kw">let</span> <span class="ident">custom_signer</span> <span class="op">=</span> <span class="ident">CustomSigner::connect</span>();
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4Xferm7Pz4VnjdcDPFyjVu5K4iZXQ4pVN8Cks4pHVowTBXBKRhX64pkRyJZJN5xAKj4UDNnLPb5p2sSKXhewoYx5GbTdUFWq/*)"</span>;
-<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>())<span class="question-mark">?</span>;
+<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">MemoryDatabase::default</span>())<span class="question-mark">?</span>;
<span class="ident">wallet</span>.<span class="ident">add_signer</span>(
- <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">KeychainKind::External</span>,
<span class="ident">SignerOrdering</span>(<span class="number">200</span>),
- <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">custom_signer</span>)
+ <span class="ident">Arc::new</span>(<span class="ident">custom_signer</span>)
);
</pre></div>
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
<!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="Defines the order in which signers are called"><meta name="keywords" content="rust, rustlang, rust-lang, SignerOrdering"><title>bdk::wallet::signer::SignerOrdering - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SignerOrdering</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSignerOrdering%3E">PartialEq<SignerOrdering></a><a href="#impl-PartialOrd%3CSignerOrdering%3E">PartialOrd<SignerOrdering></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerOrdering" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="struct" href="">SignerOrdering</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#320" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SignerOrdering(pub <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>);</pre></div><div class="docblock"><p>Defines the order in which signers are called</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SignerOrdering</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CSignerOrdering%3E">PartialEq<SignerOrdering></a><a href="#impl-PartialOrd%3CSignerOrdering%3E">PartialOrd<SignerOrdering></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignerOrdering" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="struct" href="">SignerOrdering</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#320" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SignerOrdering(pub <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>);</pre></div><div class="docblock"><p>Defines the order in which signers are called</p>
<p>The default value is <code>100</code>. Signers with an ordering above that will be called later,
and they will thus see the partial signatures added to the transaction once they get to sign
themselves.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#322-326" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#323-325" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CSignerOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-PartialEq%3CSignerOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#322-326" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#323-325" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CSignerOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-PartialEq%3CSignerOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CSignerOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-PartialOrd%3CSignerOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.ne" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CSignerOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-PartialOrd%3CSignerOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#319" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Container for multiple signers"><meta name="keywords" content="rust, rustlang, rust-lang, SignersContainer"><title>bdk::wallet::signer::SignersContainer - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SignersContainer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_external">add_external</a><a href="#method.as_key_map">as_key_map</a><a href="#method.find">find</a><a href="#method.ids">ids</a><a href="#method.new">new</a><a href="#method.remove">remove</a><a href="#method.signers">signers</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E">From<HashMap<DescriptorPublicKey, DescriptorSecretKey, RandomState>></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignersContainer" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="struct" href="">SignersContainer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#345" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SignersContainer(_);</pre></div><div class="docblock"><p>Container for multiple signers</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#347-356" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_key_map" class="method"><code>pub fn <a href="#method.as_key_map" class="fnname">as_key_map</a>(&self, secp: &Secp256k1<All>) -> <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#349-355" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a map of public keys to secret keys</p>
-</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#382-428" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#384-386" title="goto source code">[src]</a></h4><div class="docblock"><p>Default constructor</p>
-</div><h4 id="method.add_external" class="method"><code>pub fn <a href="#method.add_external" class="fnname">add_external</a>(<br> &mut self, <br> id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>, <br> ordering: <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>, <br> signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#390-397" title="goto source code">[src]</a></h4><div class="docblock"><p>Adds an external signer to the container for the specified id. Optionally returns the
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct SignersContainer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_external">add_external</a><a href="#method.as_key_map">as_key_map</a><a href="#method.find">find</a><a href="#method.ids">ids</a><a href="#method.new">new</a><a href="#method.remove">remove</a><a href="#method.signers">signers</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E">From<HashMap<DescriptorPublicKey, DescriptorSecretKey, RandomState>></a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="SignersContainer" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="struct" href="">SignersContainer</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#345" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct SignersContainer(_);</pre></div><div class="docblock"><p>Container for multiple signers</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#347-356" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.as_key_map" class="method"><code>pub fn <a href="#method.as_key_map" class="fnname">as_key_map</a>(&self, secp: &Secp256k1<All>) -> <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a></code><a href="#method.as_key_map" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#349-355" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a map of public keys to secret keys</p>
+</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#382-428" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a>() -> Self</code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#384-386" title="goto source code">[src]</a></h4><div class="docblock"><p>Default constructor</p>
+</div><h4 id="method.add_external" class="method"><code>pub fn <a href="#method.add_external" class="fnname">add_external</a>(<br> &mut self, <br> id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>, <br> ordering: <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>, <br> signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a href="#method.add_external" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#390-397" title="goto source code">[src]</a></h4><div class="docblock"><p>Adds an external signer to the container for the specified id. Optionally returns the
signer that was previously in the container, if any</p>
-</div><h4 id="method.remove" class="method"><code>pub fn <a href="#method.remove" class="fnname">remove</a>(<br> &mut self, <br> id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>, <br> ordering: <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#400-402" title="goto source code">[src]</a></h4><div class="docblock"><p>Removes a signer from the container and returns it</p>
-</div><h4 id="method.ids" class="method"><code>pub fn <a href="#method.ids" class="fnname">ids</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#405-410" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the list of identifiers of all the signers in the container</p>
-</div><h4 id="method.signers" class="method"><code>pub fn <a href="#method.signers" class="fnname">signers</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#413-415" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the list of signers in the container, sorted by lowest to highest <code>ordering</code></p>
-</div><h4 id="method.find" class="method"><code>pub fn <a href="#method.find" class="fnname">find</a>(&self, id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#418-427" title="goto source code">[src]</a></h4><div class="docblock"><p>Finds the signer with lowest ordering for a given id in the container.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#358-380" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(keymap: <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a>) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#359-379" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.remove" class="method"><code>pub fn <a href="#method.remove" class="fnname">remove</a>(<br> &mut self, <br> id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>, <br> ordering: <a class="struct" href="../../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a href="#method.remove" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#400-402" title="goto source code">[src]</a></h4><div class="docblock"><p>Removes a signer from the container and returns it</p>
+</div><h4 id="method.ids" class="method"><code>pub fn <a href="#method.ids" class="fnname">ids</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>></code><a href="#method.ids" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#405-410" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the list of identifiers of all the signers in the container</p>
+</div><h4 id="method.signers" class="method"><code>pub fn <a href="#method.signers" class="fnname">signers</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a href="#method.signers" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#413-415" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the list of signers in the container, sorted by lowest to highest <code>ordering</code></p>
+</div><h4 id="method.find" class="method"><code>pub fn <a href="#method.find" class="fnname">find</a>(&self, id: <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>>></code><a href="#method.find" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#418-427" title="goto source code">[src]</a></h4><div class="docblock"><p>Finds the signer with lowest ordering for a given id in the container.</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#344" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.HashMap.html" title="struct std::collections::hash::map::HashMap">HashMap</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorPublicKey.html" title="enum bdk::keys::DescriptorPublicKey">DescriptorPublicKey</a>, <a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/std/collections/hash/map/struct.RandomState.html" title="struct std::collections::hash::map::RandomState">RandomState</a>>> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-From%3CHashMap%3CDescriptorPublicKey%2C%20DescriptorSecretKey%2C%20RandomState%3E%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#358-380" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(keymap: <a class="type" href="../../../bdk/keys/type.KeyMap.html" title="type bdk::keys::KeyMap">KeyMap</a>) -> <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#method.from" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#359-379" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/signer/struct.SignersContainer.html" title="struct bdk::wallet::signer::SignersContainer">SignersContainer</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from-1" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from-1" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Trait for signers"><meta name="keywords" content="rust, rustlang, rust-lang, Signer"><title>bdk::wallet::signer::Signer - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Signer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.id">id</a><a href="#tymethod.sign">sign</a><a href="#tymethod.sign_whole_tx">sign_whole_tx</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.descriptor_secret_key">descriptor_secret_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E">DescriptorXKey<ExtendedPrivKey></a><a href="#impl-Signer-for-PrivateKey">PrivateKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="Signer" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="trait" href="">Signer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#164-195" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Signer: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait Signer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.id">id</a><a href="#tymethod.sign">sign</a><a href="#tymethod.sign_whole_tx">sign_whole_tx</a></div><a class="sidebar-title" href="#provided-methods">Provided Methods</a><div class="sidebar-links"><a href="#method.descriptor_secret_key">descriptor_secret_key</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E">DescriptorXKey<ExtendedPrivKey></a><a href="#impl-Signer-for-PrivateKey">PrivateKey</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a></p><div id="sidebar-vars" data-name="Signer" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">signer</a>::<wbr><a class="trait" href="">Signer</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#164-195" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait Signer: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> {
fn <a href="#tymethod.sign" class="fnname">sign</a>(<br> &self, <br> psbt: &mut PartiallySignedTransaction, <br> input_index: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> secp: &Secp256k1<All><br> ) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>>;
<div class="item-spacer"></div> fn <a href="#tymethod.sign_whole_tx" class="fnname">sign_whole_tx</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
<div class="item-spacer"></div> fn <a href="#tymethod.id" class="fnname">id</a>(&self, secp: &Secp256k1<All>) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a>;
<p>This is used internally to reconstruct the original descriptor that may contain secrets.
External signers that are meant to keep key isolated should just return <code>None</code> here (which
is the default for this method, if not overridden).</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a> for DescriptorXKey<ExtendedPrivKey></code><a href="#impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#197-254" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sign" class="method hidden"><code>fn <a href="#method.sign" class="fnname">sign</a>(<br> &self, <br> psbt: &mut PartiallySignedTransaction, <br> input_index: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#198-241" title="goto source code">[src]</a></h4><h4 id="method.sign_whole_tx" class="method hidden"><code>fn <a href="#method.sign_whole_tx" class="fnname">sign_whole_tx</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#243-245" title="goto source code">[src]</a></h4><h4 id="method.id" class="method hidden"><code>fn <a href="#method.id" class="fnname">id</a>(&self, secp: &Secp256k1<All>) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#247-249" title="goto source code">[src]</a></h4><h4 id="method.descriptor_secret_key-1" class="method hidden"><code>fn <a href="#method.descriptor_secret_key" class="fnname">descriptor_secret_key</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#251-253" title="goto source code">[src]</a></h4></div><h3 id="impl-Signer-for-PrivateKey" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a> for PrivateKey</code><a href="#impl-Signer-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#256-312" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sign-1" class="method hidden"><code>fn <a href="#method.sign" class="fnname">sign</a>(<br> &self, <br> psbt: &mut PartiallySignedTransaction, <br> input_index: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#257-296" title="goto source code">[src]</a></h4><h4 id="method.sign_whole_tx-1" class="method hidden"><code>fn <a href="#method.sign_whole_tx" class="fnname">sign_whole_tx</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#298-300" title="goto source code">[src]</a></h4><h4 id="method.id-1" class="method hidden"><code>fn <a href="#method.id" class="fnname">id</a>(&self, secp: &Secp256k1<All>) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#302-304" title="goto source code">[src]</a></h4><h4 id="method.descriptor_secret_key-2" class="method hidden"><code>fn <a href="#method.descriptor_secret_key" class="fnname">descriptor_secret_key</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>></code><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#306-311" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/wallet/signer/trait.Signer.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a> for DescriptorXKey<ExtendedPrivKey></code><a href="#impl-Signer-for-DescriptorXKey%3CExtendedPrivKey%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#197-254" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sign" class="method hidden trait-impl"><code>fn <a href="#tymethod.sign" class="fnname">sign</a>(<br> &self, <br> psbt: &mut PartiallySignedTransaction, <br> input_index: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></code><a href="#method.sign" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#198-241" title="goto source code">[src]</a></h4><h4 id="method.sign_whole_tx" class="method hidden trait-impl"><code>fn <a href="#tymethod.sign_whole_tx" class="fnname">sign_whole_tx</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.sign_whole_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#243-245" title="goto source code">[src]</a></h4><h4 id="method.id" class="method hidden trait-impl"><code>fn <a href="#tymethod.id" class="fnname">id</a>(&self, secp: &Secp256k1<All>) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#method.id" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#247-249" title="goto source code">[src]</a></h4><h4 id="method.descriptor_secret_key-1" class="method hidden trait-impl"><code>fn <a href="#method.descriptor_secret_key" class="fnname">descriptor_secret_key</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>></code><a href="#method.descriptor_secret_key-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#251-253" title="goto source code">[src]</a></h4></div><h3 id="impl-Signer-for-PrivateKey" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a> for PrivateKey</code><a href="#impl-Signer-for-PrivateKey" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#256-312" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sign-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.sign" class="fnname">sign</a>(<br> &self, <br> psbt: &mut PartiallySignedTransaction, <br> input_index: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>, <br> secp: &Secp256k1<All><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../../bdk/wallet/signer/enum.SignerError.html" title="enum bdk::wallet::signer::SignerError">SignerError</a>></code><a href="#method.sign-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#257-296" title="goto source code">[src]</a></h4><h4 id="method.sign_whole_tx-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.sign_whole_tx" class="fnname">sign_whole_tx</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.sign_whole_tx-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#298-300" title="goto source code">[src]</a></h4><h4 id="method.id-1" class="method hidden trait-impl"><code>fn <a href="#tymethod.id" class="fnname">id</a>(&self, secp: &Secp256k1<All>) -> <a class="enum" href="../../../bdk/wallet/signer/enum.SignerId.html" title="enum bdk::wallet::signer::SignerId">SignerId</a></code><a href="#method.id-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#302-304" title="goto source code">[src]</a></h4><h4 id="method.descriptor_secret_key-2" class="method hidden trait-impl"><code>fn <a href="#method.descriptor_secret_key" class="fnname">descriptor_secret_key</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="../../../bdk/keys/enum.DescriptorSecretKey.html" title="enum bdk::keys::DescriptorSecretKey">DescriptorSecretKey</a>></code><a href="#method.descriptor_secret_key-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/signer.rs.html#306-311" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/wallet/signer/trait.Signer.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="A Bitcoin wallet"><meta name="keywords" content="rust, rustlang, rust-lang, Wallet"><title>bdk::wallet::Wallet - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Wallet</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_address_validator">add_address_validator</a><a href="#method.add_signer">add_signer</a><a href="#method.broadcast">broadcast</a><a href="#method.build_fee_bump">build_fee_bump</a><a href="#method.build_tx">build_tx</a><a href="#method.client">client</a><a href="#method.finalize_psbt">finalize_psbt</a><a href="#method.get_address">get_address</a><a href="#method.get_balance">get_balance</a><a href="#method.get_descriptor_for_keychain">get_descriptor_for_keychain</a><a href="#method.get_psbt_input">get_psbt_input</a><a href="#method.get_utxo">get_utxo</a><a href="#method.is_mine">is_mine</a><a href="#method.list_transactions">list_transactions</a><a href="#method.list_unspent">list_unspent</a><a href="#method.network">network</a><a href="#method.new">new</a><a href="#method.new_offline">new_offline</a><a href="#method.policies">policies</a><a href="#method.public_descriptor">public_descriptor</a><a href="#method.secp_ctx">secp_ctx</a><a href="#method.sign">sign</a><a href="#method.sync">sync</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="Wallet" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="struct" href="">Wallet</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#78-95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Wallet<B, D> { /* fields omitted */ }</pre></div><div class="docblock"><p>A Bitcoin wallet</p>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Struct Wallet</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_address_validator">add_address_validator</a><a href="#method.add_signer">add_signer</a><a href="#method.broadcast">broadcast</a><a href="#method.build_fee_bump">build_fee_bump</a><a href="#method.build_tx">build_tx</a><a href="#method.client">client</a><a href="#method.finalize_psbt">finalize_psbt</a><a href="#method.get_address">get_address</a><a href="#method.get_balance">get_balance</a><a href="#method.get_descriptor_for_keychain">get_descriptor_for_keychain</a><a href="#method.get_psbt_input">get_psbt_input</a><a href="#method.get_utxo">get_utxo</a><a href="#method.is_mine">is_mine</a><a href="#method.list_transactions">list_transactions</a><a href="#method.list_unspent">list_unspent</a><a href="#method.network">network</a><a href="#method.new">new</a><a href="#method.new_offline">new_offline</a><a href="#method.policies">policies</a><a href="#method.public_descriptor">public_descriptor</a><a href="#method.secp_ctx">secp_ctx</a><a href="#method.sign">sign</a><a href="#method.sync">sync</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="Wallet" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="struct" href="">Wallet</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#78-95" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct Wallet<B, D> { /* fields omitted */ }</pre></div><div class="docblock"><p>A Bitcoin wallet</p>
<p>A wallet takes descriptors, a <a href="../../bdk/database/trait.Database.html"><code>database</code></a> and a
<a href="../../bdk/blockchain/trait.Blockchain.html"><code>blockchain</code></a> and implements the basic functions that a Bitcoin wallets
needs to operate, like <a href="../../bdk/wallet/struct.Wallet.html#method.get_address">generating addresses</a>, <a href="../../bdk/wallet/struct.Wallet.html#method.get_balance">returning the balance</a>,
<p>A wallet can be either “online” if the <a href="../../bdk/blockchain/index.html"><code>blockchain</code></a> type provided
implements <a href="../../bdk/blockchain/trait.Blockchain.html" title="Blockchain"><code>Blockchain</code></a>, or “offline” if it is the unit type <code>()</code>. Offline wallets only expose
methods that don’t need any interaction with the blockchain to work.</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, D> <span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#97-110" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new_offline" class="method"><code>pub fn <a href="#method.new_offline" class="fnname">new_offline</a><E: <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E, <br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>, <br> network: Network, <br> database: D<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#102-109" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new “offline” wallet</p>
-</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<B, D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#198-1383" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_address" class="method"><code>pub fn <a href="#method.get_address" class="fnname">get_address</a>(&self, address_index: <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Address, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#259-266" title="goto source code">[src]</a></h4><div class="docblock"><p>Return a derived address using the external descriptor, see <a href="../../bdk/wallet/enum.AddressIndex.html" title="AddressIndex"><code>AddressIndex</code></a> for
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, D> <span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#97-110" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new_offline" class="method"><code>pub fn <a href="#method.new_offline" class="fnname">new_offline</a><E: <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E, <br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>, <br> network: Network, <br> database: D<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.new_offline" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#102-109" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new “offline” wallet</p>
+</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<B, D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#198-1383" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.get_address" class="method"><code>pub fn <a href="#method.get_address" class="fnname">get_address</a>(&self, address_index: <a class="enum" href="../../bdk/wallet/enum.AddressIndex.html" title="enum bdk::wallet::AddressIndex">AddressIndex</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Address, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_address" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#259-266" title="goto source code">[src]</a></h4><div class="docblock"><p>Return a derived address using the external descriptor, see <a href="../../bdk/wallet/enum.AddressIndex.html" title="AddressIndex"><code>AddressIndex</code></a> for
available address index selection strategies. If none of the keys in the descriptor are derivable
(ie. does not end with /*) then the same address will always be returned for any <a href="../../bdk/wallet/enum.AddressIndex.html" title="AddressIndex"><code>AddressIndex</code></a>.</p>
-</div><h4 id="method.is_mine" class="method"><code>pub fn <a href="#method.is_mine" class="fnname">is_mine</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#269-271" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
-</div><h4 id="method.list_unspent" class="method"><code>pub fn <a href="#method.list_unspent" class="fnname">list_unspent</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#277-279" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of unspent outputs of this wallet</p>
+</div><h4 id="method.is_mine" class="method"><code>pub fn <a href="#method.is_mine" class="fnname">is_mine</a>(&self, script: &Script) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.is_mine" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#269-271" title="goto source code">[src]</a></h4><div class="docblock"><p>Return whether or not a <code>script</code> is part of this wallet (either internal or external)</p>
+</div><h4 id="method.list_unspent" class="method"><code>pub fn <a href="#method.list_unspent" class="fnname">list_unspent</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.list_unspent" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#277-279" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of unspent outputs of this wallet</p>
<p>Note that this methods only operate on the internal database, which first needs to be
<a href="../../bdk/wallet/struct.Wallet.html#method.sync" title="Wallet::sync"><code>Wallet::sync</code></a> manually.</p>
-</div><h4 id="method.get_utxo" class="method"><code>pub fn <a href="#method.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#283-285" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the <code>UTXO</code> owned by this wallet corresponding to <code>outpoint</code> if it exists in the
+</div><h4 id="method.get_utxo" class="method"><code>pub fn <a href="#method.get_utxo" class="fnname">get_utxo</a>(&self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_utxo" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#283-285" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the <code>UTXO</code> owned by this wallet corresponding to <code>outpoint</code> if it exists in the
wallet’s database.</p>
-</div><h4 id="method.list_transactions" class="method"><code>pub fn <a href="#method.list_transactions" class="fnname">list_transactions</a>(<br> &self, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#294-296" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of transactions made and received by the wallet</p>
+</div><h4 id="method.list_transactions" class="method"><code>pub fn <a href="#method.list_transactions" class="fnname">list_transactions</a>(<br> &self, <br> include_raw: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="struct" href="../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.list_transactions" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#294-296" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the list of transactions made and received by the wallet</p>
<p>Optionally fill the <a href="../../bdk/struct.TransactionDetails.html#structfield.transaction" title="TransactionDetails::transaction"><code>TransactionDetails::transaction</code></a> field with the raw transaction if
<code>include_raw</code> is <code>true</code>.</p>
<p>Note that this methods only operate on the internal database, which first needs to be
<a href="../../bdk/wallet/struct.Wallet.html#method.sync" title="Wallet::sync"><code>Wallet::sync</code></a> manually.</p>
-</div><h4 id="method.get_balance" class="method"><code>pub fn <a href="#method.get_balance" class="fnname">get_balance</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#302-307" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the balance, meaning the sum of this wallet’s unspent outputs’ values</p>
+</div><h4 id="method.get_balance" class="method"><code>pub fn <a href="#method.get_balance" class="fnname">get_balance</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_balance" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#302-307" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the balance, meaning the sum of this wallet’s unspent outputs’ values</p>
<p>Note that this methods only operate on the internal database, which first needs to be
<a href="../../bdk/wallet/struct.Wallet.html#method.sync" title="Wallet::sync"><code>Wallet::sync</code></a> manually.</p>
-</div><h4 id="method.add_signer" class="method"><code>pub fn <a href="#method.add_signer" class="fnname">add_signer</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> ordering: <a class="struct" href="../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>, <br> signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>><br>)</code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#312-324" title="goto source code">[src]</a></h4><div class="docblock"><p>Add an external signer</p>
+</div><h4 id="method.add_signer" class="method"><code>pub fn <a href="#method.add_signer" class="fnname">add_signer</a>(<br> &mut self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>, <br> ordering: <a class="struct" href="../../bdk/wallet/signer/struct.SignerOrdering.html" title="struct bdk::wallet::signer::SignerOrdering">SignerOrdering</a>, <br> signer: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../bdk/wallet/signer/trait.Signer.html" title="trait bdk::wallet::signer::Signer">Signer</a>><br>)</code><a href="#method.add_signer" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#312-324" title="goto source code">[src]</a></h4><div class="docblock"><p>Add an external signer</p>
<p>See <a href="../../bdk/wallet/signer/index.html">the <code>signer</code> module</a> for an example.</p>
-</div><h4 id="method.add_address_validator" class="method"><code>pub fn <a href="#method.add_address_validator" class="fnname">add_address_validator</a>(&mut self, validator: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../bdk/wallet/address_validator/trait.AddressValidator.html" title="trait bdk::wallet::address_validator::AddressValidator">AddressValidator</a>>)</code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#329-331" title="goto source code">[src]</a></h4><div class="docblock"><p>Add an address validator</p>
+</div><h4 id="method.add_address_validator" class="method"><code>pub fn <a href="#method.add_address_validator" class="fnname">add_address_validator</a>(&mut self, validator: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="../../bdk/wallet/address_validator/trait.AddressValidator.html" title="trait bdk::wallet::address_validator::AddressValidator">AddressValidator</a>>)</code><a href="#method.add_address_validator" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#329-331" title="goto source code">[src]</a></h4><div class="docblock"><p>Add an address validator</p>
<p>See <a href="../../bdk/wallet/address_validator/index.html">the <code>address_validator</code> module</a> for an example.</p>
-</div><h4 id="method.build_tx" class="method"><code>pub fn <a href="#method.build_tx" class="fnname">build_tx</a>(<br> &self<br>) -> <a class="struct" href="../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'_, B, D, <a class="type" href="../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#359-366" title="goto source code">[src]</a></h4><div class="docblock"><p>Start building a transaction.</p>
+</div><h4 id="method.build_tx" class="method"><code>pub fn <a href="#method.build_tx" class="fnname">build_tx</a>(<br> &self<br>) -> <a class="struct" href="../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'_, B, D, <a class="type" href="../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a>></code><a href="#method.build_tx" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#359-366" title="goto source code">[src]</a></h4><div class="docblock"><p>Start building a transaction.</p>
<p>This returns a blank <a href="../../bdk/wallet/tx_builder/struct.TxBuilder.html"><code>TxBuilder</code></a> from which you can specify the parameters for the transaction.</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
};
<span class="comment">// sign and broadcast ...</span></pre></div>
-</div><h4 id="method.build_fee_bump" class="method"><code>pub fn <a href="#method.build_fee_bump" class="fnname">build_fee_bump</a>(<br> &self, <br> txid: Txid<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'_, B, D, <a class="type" href="../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#726-830" title="goto source code">[src]</a></h4><div class="docblock"><p>Bump the fee of a transaction previously created with this wallet.</p>
+</div><h4 id="method.build_fee_bump" class="method"><code>pub fn <a href="#method.build_fee_bump" class="fnname">build_fee_bump</a>(<br> &self, <br> txid: Txid<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'_, B, D, <a class="type" href="../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.build_fee_bump" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#726-830" title="goto source code">[src]</a></h4><div class="docblock"><p>Bump the fee of a transaction previously created with this wallet.</p>
<p>Returns an error if the transaction is already confirmed or doesn’t explicitly signal
<em>repalce by fee</em> (RBF). If the transaction can be fee bumped then it returns a <a href="../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a>
pre-populated with the inputs and outputs of the original transaction.</p>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">tx</span>.<span class="ident">txid</span>())<span class="question-mark">?</span>;
<span class="ident">builder</span>
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>));
<span class="ident">builder</span>.<span class="ident">finish</span>()<span class="question-mark">?</span>
};
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">fee_bumped_tx</span> <span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">extract_tx</span>();
<span class="comment">// broadcast fee_bumped_tx to replace original</span></pre></div>
-</div><h4 id="method.sign" class="method"><code>pub fn <a href="#method.sign" class="fnname">sign</a>(<br> &self, <br> psbt: PSBT, <br> assume_height: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#853-874" title="goto source code">[src]</a></h4><div class="docblock"><p>Sign a transaction with all the wallet’s signers, in the order specified by every signer’s
+</div><h4 id="method.sign" class="method"><code>pub fn <a href="#method.sign" class="fnname">sign</a>(<br> &self, <br> psbt: PSBT, <br> assume_height: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sign" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#853-874" title="goto source code">[src]</a></h4><div class="docblock"><p>Sign a transaction with all the wallet’s signers, in the order specified by every signer’s
<a href="../../bdk/wallet/signer/struct.SignerOrdering.html" title="SignerOrdering"><code>SignerOrdering</code></a></p>
<h2 id="example-2" class="section-header"><a href="#example-2">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="ident">builder</span>.<span class="ident">finish</span>()<span class="question-mark">?</span>
};
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>)<span class="question-mark">?</span>;
-<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="string">"we should have signed all the inputs"</span>);</pre></div>
-</div><h4 id="method.policies" class="method"><code>pub fn <a href="#method.policies" class="fnname">policies</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#877-887" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the spending policies for the wallet’s descriptor</p>
-</div><h4 id="method.public_descriptor" class="method"><code>pub fn <a href="#method.public_descriptor" class="fnname">public_descriptor</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#893-902" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has
+<span class="macro">assert!</span>(<span class="ident">finalized</span>, <span class="string">"we should have signed all the inputs"</span>);</pre></div>
+</div><h4 id="method.policies" class="method"><code>pub fn <a href="#method.policies" class="fnname">policies</a>(&self, keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../bdk/descriptor/policy/struct.Policy.html" title="struct bdk::descriptor::policy::Policy">Policy</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.policies" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#877-887" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the spending policies for the wallet’s descriptor</p>
+</div><h4 id="method.public_descriptor" class="method"><code>pub fn <a href="#method.public_descriptor" class="fnname">public_descriptor</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a>>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.public_descriptor" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#893-902" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has
the same structure but with every secret key removed</p>
<p>This can be used to build a watch-only version of a wallet</p>
-</div><h4 id="method.finalize_psbt" class="method"><code>pub fn <a href="#method.finalize_psbt" class="fnname">finalize_psbt</a>(<br> &self, <br> psbt: PSBT, <br> assume_height: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#905-983" title="goto source code">[src]</a></h4><div class="docblock"><p>Try to finalize a PSBT</p>
-</div><h4 id="method.secp_ctx" class="method"><code>pub fn <a href="#method.secp_ctx" class="fnname">secp_ctx</a>(&self) -> &Secp256k1<All></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#986-988" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
-</div><h4 id="method.get_descriptor_for_keychain" class="method"><code>pub fn <a href="#method.get_descriptor_for_keychain" class="fnname">get_descriptor_for_keychain</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> &<a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#991-994" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the descriptor used to create adddresses for a particular <code>keychain</code>.</p>
-</div><h4 id="method.get_psbt_input" class="method"><code>pub fn <a href="#method.get_psbt_input" class="fnname">get_psbt_input</a>(<br> &self, <br> utxo: <a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>, <br> sighash_type: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><SigHashType>, <br> force_non_witness_utxo: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Input, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1317-1353" title="goto source code">[src]</a></h4><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
-</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<B, D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a>,<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl-2" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1385-1486" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a><E: <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E, <br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>, <br> network: Network, <br> database: D, <br> client: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1392-1408" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new “online” wallet</p>
-</div><h4 id="method.sync" class="method"><code>pub fn <a href="#method.sync" class="fnname">sync</a><P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> progress_update: P, <br> max_address_param: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1412-1467" title="goto source code">[src]</a></h4><div class="docblock"><p>Sync the internal database with the blockchain</p>
-</div><h4 id="method.client" class="method"><code>pub fn <a href="#method.client" class="fnname">client</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>B</code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1470-1472" title="goto source code">[src]</a></h4><div class="docblock"><p>Return a reference to the internal blockchain client</p>
-</div><h4 id="method.network" class="method"><code>pub fn <a href="#method.network" class="fnname">network</a>(&self) -> Network</code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1475-1477" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
-</div><h4 id="method.broadcast" class="method"><code>pub fn <a href="#method.broadcast" class="fnname">broadcast</a>(&self, tx: Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Txid, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1481-1485" title="goto source code">[src]</a></h4><div class="docblock"><p>Broadcast a transaction to the network</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl<B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#77" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h4 id="method.finalize_psbt" class="method"><code>pub fn <a href="#method.finalize_psbt" class="fnname">finalize_psbt</a>(<br> &self, <br> psbt: PSBT, <br> assume_height: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.finalize_psbt" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#905-983" title="goto source code">[src]</a></h4><div class="docblock"><p>Try to finalize a PSBT</p>
+</div><h4 id="method.secp_ctx" class="method"><code>pub fn <a href="#method.secp_ctx" class="fnname">secp_ctx</a>(&self) -> &Secp256k1<All></code><a href="#method.secp_ctx" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#986-988" title="goto source code">[src]</a></h4><div class="docblock"><p>Return the secp256k1 context used for all signing operations</p>
+</div><h4 id="method.get_descriptor_for_keychain" class="method"><code>pub fn <a href="#method.get_descriptor_for_keychain" class="fnname">get_descriptor_for_keychain</a>(<br> &self, <br> keychain: <a class="enum" href="../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> &<a class="type" href="../../bdk/descriptor/type.ExtendedDescriptor.html" title="type bdk::descriptor::ExtendedDescriptor">ExtendedDescriptor</a></code><a href="#method.get_descriptor_for_keychain" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#991-994" title="goto source code">[src]</a></h4><div class="docblock"><p>Returns the descriptor used to create adddresses for a particular <code>keychain</code>.</p>
+</div><h4 id="method.get_psbt_input" class="method"><code>pub fn <a href="#method.get_psbt_input" class="fnname">get_psbt_input</a>(<br> &self, <br> utxo: <a class="struct" href="../../bdk/struct.LocalUtxo.html" title="struct bdk::LocalUtxo">LocalUtxo</a>, <br> sighash_type: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><SigHashType>, <br> force_non_witness_utxo: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Input, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.get_psbt_input" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1317-1353" title="goto source code">[src]</a></h4><div class="docblock"><p>get the corresponding PSBT Input for a LocalUtxo</p>
+</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<B, D> <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="../../bdk/blockchain/trait.Blockchain.html" title="trait bdk::blockchain::Blockchain">Blockchain</a>,<br> D: <a class="trait" href="../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, </span></code><a href="#impl-2" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1385-1486" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.new" class="method"><code>pub fn <a href="#method.new" class="fnname">new</a><E: <a class="trait" href="../../bdk/descriptor/trait.IntoWalletDescriptor.html" title="trait bdk::descriptor::IntoWalletDescriptor">IntoWalletDescriptor</a>>(<br> descriptor: E, <br> change_descriptor: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><E>, <br> network: Network, <br> database: D, <br> client: B<br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.new" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1392-1408" title="goto source code">[src]</a></h4><div class="docblock"><p>Create a new “online” wallet</p>
+</div><h4 id="method.sync" class="method"><code>pub fn <a href="#method.sync" class="fnname">sync</a><P: 'static + <a class="trait" href="../../bdk/blockchain/trait.Progress.html" title="trait bdk::blockchain::Progress">Progress</a>>(<br> &self, <br> progress_update: P, <br> max_address_param: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.sync" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1412-1467" title="goto source code">[src]</a></h4><div class="docblock"><p>Sync the internal database with the blockchain</p>
+</div><h4 id="method.client" class="method"><code>pub fn <a href="#method.client" class="fnname">client</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>B</code><a href="#method.client" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1470-1472" title="goto source code">[src]</a></h4><div class="docblock"><p>Return a reference to the internal blockchain client</p>
+</div><h4 id="method.network" class="method"><code>pub fn <a href="#method.network" class="fnname">network</a>(&self) -> Network</code><a href="#method.network" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1475-1477" title="goto source code">[src]</a></h4><div class="docblock"><p>Get the Bitcoin network the wallet is using.</p>
+</div><h4 id="method.broadcast" class="method"><code>pub fn <a href="#method.broadcast" class="fnname">broadcast</a>(&self, tx: Transaction) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Txid, <a class="enum" href="../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.broadcast" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#1481-1485" title="goto source code">[src]</a></h4><div class="docblock"><p>Broadcast a transaction to the network</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Debug" class="impl"><code class="in-band">impl<B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#77" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/mod.rs.html#77" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, </span></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D> <span class="where fmt-newline">where<br> B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<B, D> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../bdk/wallet/struct.Wallet.html" title="struct bdk::wallet::Wallet">Wallet</a><B, D></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Return the current timestamp in seconds"><meta name="keywords" content="rust, rustlang, rust-lang, get_timestamp"><title>bdk::wallet::time::get_timestamp - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">time</a></p><div id="sidebar-vars" data-name="get_timestamp" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">time</a>::<wbr><a class="fn" href="">get_timestamp</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/time.rs.html#29-34" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn get_timestamp() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></pre><div class="docblock"><p>Return the current timestamp in seconds</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">time</a></p><div id="sidebar-vars" data-name="get_timestamp" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">time</a>::<wbr><a class="fn" href="">get_timestamp</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/time.rs.html#29-34" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn get_timestamp() -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></pre><div class="docblock"><p>Return the current timestamp in seconds</p>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Cross-platform time"><meta name="keywords" content="rust, rustlang, rust-lang, time"><title>bdk::wallet::time - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module time</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="time" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">time</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/time.rs.html#12-73" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Cross-platform time</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module time</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="time" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">time</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/time.rs.html#12-73" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Cross-platform time</p>
<p>This module provides a function to get the current timestamp that works on all the platforms
supported by the library.</p>
<p>It can be useful to compare it with the timestamps found in
<!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="Trait to check if a value is below the dust limit"><meta name="keywords" content="rust, rustlang, rust-lang, IsDust"><title>bdk::wallet::IsDust - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IsDust</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.is_dust">is_dust</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IsDust-for-u64">u64</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="IsDust" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="trait" href="">IsDust</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#35-38" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IsDust {
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Trait IsDust</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.is_dust">is_dust</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-IsDust-for-u64">u64</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a></p><div id="sidebar-vars" data-name="IsDust" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../index.html">bdk</a>::<wbr><a href="index.html">wallet</a>::<wbr><a class="trait" href="">IsDust</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#35-38" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait IsDust {
fn <a href="#tymethod.is_dust" class="fnname">is_dust</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>;
}</pre></div><div class="docblock"><p>Trait to check if a value is below the dust limit</p>
</div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><h3 id="tymethod.is_dust" class="method"><code>fn <a href="#tymethod.is_dust" class="fnname">is_dust</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#37" title="goto source code">[src]</a></h3><div class="docblock"><p>Check whether or not a value is below dust limit</p>
-</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IsDust-for-u64" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/wallet/trait.IsDust.html" title="trait bdk::wallet::IsDust">IsDust</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a href="#impl-IsDust-for-u64" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#40-44" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_dust" class="method hidden"><code>fn <a href="#method.is_dust" class="fnname">is_dust</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#41-43" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/wallet/trait.IsDust.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
+</div></div><span class="loading-content">Loading content...</span><h2 id="foreign-impls" class="small-section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor"></a></h2><h3 id="impl-IsDust-for-u64" class="impl"><code class="in-band">impl <a class="trait" href="../../bdk/wallet/trait.IsDust.html" title="trait bdk::wallet::IsDust">IsDust</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a></code><a href="#impl-IsDust-for-u64" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#40-44" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.is_dust" class="method hidden trait-impl"><code>fn <a href="#tymethod.is_dust" class="fnname">is_dust</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.is_dust" class="anchor"></a><a class="srclink" href="../../src/bdk/wallet/utils.rs.html#41-43" title="goto source code">[src]</a></h4></div><span class="loading-content">Loading content...</span><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../implementors/bdk/wallet/trait.IsDust.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<script src="../../main.js"></script></body></html>
\ No newline at end of file
<!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="Policy regarding the use of change outputs when creating a transaction"><meta name="keywords" content="rust, rustlang, rust-lang, ChangeSpendPolicy"><title>bdk::wallet::tx_builder::ChangeSpendPolicy - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ChangeSpendPolicy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ChangeAllowed">ChangeAllowed</a><a href="#variant.ChangeForbidden">ChangeForbidden</a><a href="#variant.OnlyChange">OnlyChange</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CChangeSpendPolicy%3E">PartialEq<ChangeSpendPolicy></a><a href="#impl-PartialOrd%3CChangeSpendPolicy%3E">PartialOrd<ChangeSpendPolicy></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="ChangeSpendPolicy" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="enum" href="">ChangeSpendPolicy</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#684-691" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ChangeSpendPolicy {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum ChangeSpendPolicy</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.ChangeAllowed">ChangeAllowed</a><a href="#variant.ChangeForbidden">ChangeForbidden</a><a href="#variant.OnlyChange">OnlyChange</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CChangeSpendPolicy%3E">PartialEq<ChangeSpendPolicy></a><a href="#impl-PartialOrd%3CChangeSpendPolicy%3E">PartialOrd<ChangeSpendPolicy></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="ChangeSpendPolicy" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="enum" href="">ChangeSpendPolicy</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#684-691" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum ChangeSpendPolicy {
ChangeAllowed,
OnlyChange,
ChangeForbidden,
<div id="variant.ChangeAllowed" class="variant small-section-header"><a href="#variant.ChangeAllowed" class="anchor field"></a><code>ChangeAllowed</code></div><div class="docblock"><p>Use both change and non-change outputs (default)</p>
</div><div id="variant.OnlyChange" class="variant small-section-header"><a href="#variant.OnlyChange" class="anchor field"></a><code>OnlyChange</code></div><div class="docblock"><p>Only use change outputs (see <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.only_spend_change" title="TxBuilder::only_spend_change"><code>TxBuilder::only_spend_change</code></a>)</p>
</div><div id="variant.ChangeForbidden" class="variant small-section-header"><a href="#variant.ChangeForbidden" class="anchor field"></a><code>ChangeForbidden</code></div><div class="docblock"><p>Only use non-change outputs (see <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.do_not_spend_change" title="TxBuilder::do_not_spend_change"><code>TxBuilder::do_not_spend_change</code></a>)</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#693-697" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#694-696" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CChangeSpendPolicy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-PartialEq%3CChangeSpendPolicy%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#693-697" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#694-696" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CChangeSpendPolicy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-PartialEq%3CChangeSpendPolicy%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CChangeSpendPolicy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-PartialOrd%3CChangeSpendPolicy%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CChangeSpendPolicy%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-PartialOrd%3CChangeSpendPolicy%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#683" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Ordering of the transaction’s inputs and outputs"><meta name="keywords" content="rust, rustlang, rust-lang, TxOrdering"><title>bdk::wallet::tx_builder::TxOrdering - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum TxOrdering</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip69Lexicographic">Bip69Lexicographic</a><a href="#variant.Shuffle">Shuffle</a><a href="#variant.Untouched">Untouched</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.sort_tx">sort_tx</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CTxOrdering%3E">PartialEq<TxOrdering></a><a href="#impl-PartialOrd%3CTxOrdering%3E">PartialOrd<TxOrdering></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxOrdering" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="enum" href="">TxOrdering</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#609-616" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum TxOrdering {
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Enum TxOrdering</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Bip69Lexicographic">Bip69Lexicographic</a><a href="#variant.Shuffle">Shuffle</a><a href="#variant.Untouched">Untouched</a></div><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.sort_tx">sort_tx</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-Hash">Hash</a><a href="#impl-Ord">Ord</a><a href="#impl-PartialEq%3CTxOrdering%3E">PartialEq<TxOrdering></a><a href="#impl-PartialOrd%3CTxOrdering%3E">PartialOrd<TxOrdering></a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-Equivalent%3CK%3E">Equivalent<K></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxOrdering" data-ty="enum" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Enum <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="enum" href="">TxOrdering</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#609-616" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust enum">pub enum TxOrdering {
Shuffle,
Untouched,
Bip69Lexicographic,
<div id="variant.Shuffle" class="variant small-section-header"><a href="#variant.Shuffle" class="anchor field"></a><code>Shuffle</code></div><div class="docblock"><p>Randomized (default)</p>
</div><div id="variant.Untouched" class="variant small-section-header"><a href="#variant.Untouched" class="anchor field"></a><code>Untouched</code></div><div class="docblock"><p>Unchanged</p>
</div><div id="variant.Bip69Lexicographic" class="variant small-section-header"><a href="#variant.Bip69Lexicographic" class="anchor field"></a><code>Bip69Lexicographic</code></div><div class="docblock"><p>BIP69 / Lexicographic</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#624-650" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sort_tx" class="method"><code>pub fn <a href="#method.sort_tx" class="fnname">sort_tx</a>(&self, tx: &mut Transaction)</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#626-649" title="goto source code">[src]</a></h4><div class="docblock"><p>Sort transaction inputs and outputs by <a href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="TxOrdering"><code>TxOrdering</code></a> variant</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#618-622" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#619-621" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
-</div><h4 id="method.hash_slice" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
-</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
-</div><h4 id="method.max" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
-</div><h4 id="method.min" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
-</div><h4 id="method.clamp" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
-</div></div><h3 id="impl-PartialEq%3CTxOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-PartialEq%3CTxOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#624-650" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.sort_tx" class="method"><code>pub fn <a href="#method.sort_tx" class="fnname">sort_tx</a>(&self, tx: &mut Transaction)</code><a href="#method.sort_tx" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#626-649" title="goto source code">[src]</a></h4><div class="docblock"><p>Sort transaction inputs and outputs by <a href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="TxOrdering"><code>TxOrdering</code></a> variant</p>
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Copy" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Copy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#618-622" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> Self</code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#619-621" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-Eq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-Hash" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.hash" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a><__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>__H)</code><a href="#method.hash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
+</div><h4 id="method.hash_slice" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a><H>(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>H) <span class="where fmt-newline">where<br> H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>, </span></code><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#190-192" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
+</div></div><h3 id="impl-Ord" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Ord" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fnname">cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></code><a href="#method.cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></p>
+</div><h4 id="method.max" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fnname">max</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.max" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#724-726" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></p>
+</div><h4 id="method.min" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fnname">min</a>(self, other: Self) -> Self</code><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span><a href="#method.min" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#744-746" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></p>
+</div><h4 id="method.clamp" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fnname">clamp</a>(self, min: Self, max: Self) -> Self</code><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span><a href="#method.clamp" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#769-771" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></p>
+</div></div><h3 id="impl-PartialEq%3CTxOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-PartialEq%3CTxOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.eq" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.eq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
-</div><h4 id="method.ne" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
-</div></div><h3 id="impl-PartialOrd%3CTxOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-PartialOrd%3CTxOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
-</div><h4 id="method.lt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
-</div><h4 id="method.le" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
+</div><h4 id="method.ne" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#213" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
+</div></div><h3 id="impl-PartialOrd%3CTxOrdering%3E" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a><<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-PartialOrd%3CTxOrdering%3E" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.partial_cmp" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fnname">partial_cmp</a>(&self, other: &<a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>></code><a href="#method.partial_cmp" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></p>
+</div><h4 id="method.lt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fnname">lt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.lt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#964" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code><</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></p>
+</div><h4 id="method.le" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fnname">le</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.le" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#983" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code><=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></p>
-</div><h4 id="method.gt" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1001" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
-</div><h4 id="method.ge" class="method hidden"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1020" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
+</div><h4 id="method.gt" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fnname">gt</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.gt" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1005" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>></code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></p>
+</div><h4 id="method.ge" class="method hidden trait-impl"><code><span class="docblock attributes">#[must_use]</span>pub fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fnname">ge</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Rhs) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ge" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1024" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>>=</code>
operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></p>
-</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h3 id="impl-StructuralEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-StructuralEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-StructuralPartialEq" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-StructuralPartialEq" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#608" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-Equivalent%3CK%3E" class="impl"><code class="in-band">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q <span class="where fmt-newline">where<br> Q: <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br> K: <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.equivalent" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>K) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a href="#method.equivalent" class="anchor"></a><a class="srclink" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Transaction builder"><meta name="keywords" content="rust, rustlang, rust-lang, tx_builder"><title>bdk::wallet::tx_builder - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module tx_builder</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="tx_builder" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">tx_builder</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#12-852" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Transaction builder</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Module tx_builder</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a></p><div id="sidebar-vars" data-name="tx_builder" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a class="mod" href="">tx_builder</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#12-852" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Transaction builder</p>
<h2 id="example" class="section-header"><a href="#example">Example</a></h2>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="comment">// create a TxBuilder from a wallet</span>
<span class="comment">// Create a transaction with one output to `to_address` of 50_000 satoshi</span>
.<span class="ident">add_recipient</span>(<span class="ident">to_address</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>)
<span class="comment">// With a custom fee rate of 5.0 satoshi/vbyte</span>
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>))
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>))
<span class="comment">// Only spend non-change outputs</span>
.<span class="ident">do_not_spend_change</span>()
<span class="comment">// Turn on RBF signaling</span>
<!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="Marker type to indicate the [`TxBuilder`] is being used to bump the fee of an existing transaction."><meta name="keywords" content="rust, rustlang, rust-lang, BumpFee"><title>bdk::wallet::tx_builder::BumpFee - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BumpFee</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-TxBuilderContext">TxBuilderContext</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="BumpFee" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">BumpFee</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#66" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BumpFee;</pre></div><div class="docblock"><p>Marker type to indicate the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is being used to bump the fee of an existing transaction.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-TxBuilderContext" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-TxBuilderContext" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#67" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct BumpFee</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-TxBuilderContext">TxBuilderContext</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="BumpFee" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">BumpFee</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#66" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct BumpFee;</pre></div><div class="docblock"><p>Marker type to indicate the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is being used to bump the fee of an existing transaction.</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#65" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-TxBuilderContext" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-TxBuilderContext" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#67" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Marker type to indicate the [`TxBuilder`] is being used to create a new transaction (as opposed to bumping the fee of an existing one)."><meta name="keywords" content="rust, rustlang, rust-lang, CreateTx"><title>bdk::wallet::tx_builder::CreateTx - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CreateTx</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-TxBuilderContext">TxBuilderContext</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="CreateTx" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">CreateTx</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#61" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CreateTx;</pre></div><div class="docblock"><p>Marker type to indicate the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is being used to create a new transaction (as opposed
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct CreateTx</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-TxBuilderContext">TxBuilderContext</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="CreateTx" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">CreateTx</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#61" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct CreateTx;</pre></div><div class="docblock"><p>Marker type to indicate the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is being used to create a new transaction (as opposed
to bumping the fee of an existing one).</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
-</div></div><h3 id="impl-TxBuilderContext" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-TxBuilderContext" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#62" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div><h3 id="impl-Default" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.default" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#method.default" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#60" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></p>
+</div></div><h3 id="impl-TxBuilderContext" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-TxBuilderContext" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#62" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="A transaction builder"><meta name="keywords" content="rust, rustlang, rust-lang, TxBuilder"><title>bdk::wallet::tx_builder::TxBuilder - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct TxBuilder</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_foreign_utxo">add_foreign_utxo</a><a href="#method.add_global_xpubs">add_global_xpubs</a><a href="#method.add_recipient">add_recipient</a><a href="#method.add_unspendable">add_unspendable</a><a href="#method.add_utxo">add_utxo</a><a href="#method.add_utxos">add_utxos</a><a href="#method.change_policy">change_policy</a><a href="#method.coin_selection">coin_selection</a><a href="#method.do_not_spend_change">do_not_spend_change</a><a href="#method.drain_wallet">drain_wallet</a><a href="#method.enable_rbf">enable_rbf</a><a href="#method.enable_rbf_with_sequence">enable_rbf_with_sequence</a><a href="#method.fee_absolute">fee_absolute</a><a href="#method.fee_rate">fee_rate</a><a href="#method.finish">finish</a><a href="#method.force_non_witness_utxo">force_non_witness_utxo</a><a href="#method.include_output_redeem_witness_script">include_output_redeem_witness_script</a><a href="#method.maintain_single_recipient">maintain_single_recipient</a><a href="#method.manually_selected_only">manually_selected_only</a><a href="#method.nlocktime">nlocktime</a><a href="#method.only_spend_change">only_spend_change</a><a href="#method.ordering">ordering</a><a href="#method.policy_path">policy_path</a><a href="#method.set_recipients">set_recipients</a><a href="#method.set_single_recipient">set_single_recipient</a><a href="#method.sighash">sighash</a><a href="#method.unspendable">unspendable</a><a href="#method.version">version</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxBuilder" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">TxBuilder</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#120-128" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct TxBuilder<'a, B, D, Cs, Ctx> { /* fields omitted */ }</pre></div><div class="docblock"><p>A transaction builder</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Struct TxBuilder</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementations">Methods</a><div class="sidebar-links"><a href="#method.add_foreign_utxo">add_foreign_utxo</a><a href="#method.add_global_xpubs">add_global_xpubs</a><a href="#method.add_recipient">add_recipient</a><a href="#method.add_unspendable">add_unspendable</a><a href="#method.add_utxo">add_utxo</a><a href="#method.add_utxos">add_utxos</a><a href="#method.change_policy">change_policy</a><a href="#method.coin_selection">coin_selection</a><a href="#method.do_not_spend_change">do_not_spend_change</a><a href="#method.drain_wallet">drain_wallet</a><a href="#method.enable_rbf">enable_rbf</a><a href="#method.enable_rbf_with_sequence">enable_rbf_with_sequence</a><a href="#method.fee_absolute">fee_absolute</a><a href="#method.fee_rate">fee_rate</a><a href="#method.finish">finish</a><a href="#method.force_non_witness_utxo">force_non_witness_utxo</a><a href="#method.include_output_redeem_witness_script">include_output_redeem_witness_script</a><a href="#method.maintain_single_recipient">maintain_single_recipient</a><a href="#method.manually_selected_only">manually_selected_only</a><a href="#method.nlocktime">nlocktime</a><a href="#method.only_spend_change">only_spend_change</a><a href="#method.ordering">ordering</a><a href="#method.policy_path">policy_path</a><a href="#method.set_recipients">set_recipients</a><a href="#method.set_single_recipient">set_single_recipient</a><a href="#method.sighash">sighash</a><a href="#method.unspendable">unspendable</a><a href="#method.version">version</a></div><a class="sidebar-title" href="#trait-implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">!RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">!UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow<T></a><a href="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><a href="#impl-From%3CT%3E">From<T></a><a href="#impl-Instrument">Instrument</a><a href="#impl-Into%3CU%3E">Into<U></a><a href="#impl-Pointable">Pointable</a><a href="#impl-Same%3CT%3E">Same<T></a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom<U></a><a href="#impl-TryInto%3CU%3E">TryInto<U></a><a href="#impl-VZip%3CV%3E">VZip<V></a></div></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxBuilder" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="struct" href="">TxBuilder</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#120-128" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust struct">pub struct TxBuilder<'a, B, D, Cs, Ctx> { /* fields omitted */ }</pre></div><div class="docblock"><p>A transaction builder</p>
<p>A <code>TxBuilder</code> is created by calling <a href="../../../bdk/wallet/struct.Wallet.html#method.build_tx"><code>build_tx</code></a> or <a href="../../../bdk/wallet/struct.Wallet.html#method.build_fee_bump"><code>build_fee_bump</code></a> on a wallet. After
assigning it, you set options on it until finally calling <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.finish"><code>finish</code></a> to consume the builder and
generate the transaction.</p>
<span class="kw">let</span> (<span class="ident">psbt1</span>, <span class="ident">details</span>) <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
- .<span class="ident">ordering</span>(<span class="ident">TxOrdering</span>::<span class="ident">Untouched</span>)
+ .<span class="ident">ordering</span>(<span class="ident">TxOrdering::Untouched</span>)
.<span class="ident">add_recipient</span>(<span class="ident">addr1</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>)
.<span class="ident">add_recipient</span>(<span class="ident">addr2</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>);
<span class="ident">builder</span>.<span class="ident">finish</span>()<span class="question-mark">?</span>
<span class="comment">// non-chaining</span>
<span class="kw">let</span> (<span class="ident">psbt2</span>, <span class="ident">details</span>) <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
- <span class="ident">builder</span>.<span class="ident">ordering</span>(<span class="ident">TxOrdering</span>::<span class="ident">Untouched</span>);
+ <span class="ident">builder</span>.<span class="ident">ordering</span>(<span class="ident">TxOrdering::Untouched</span>);
<span class="kw">for</span> <span class="ident">addr</span> <span class="kw">in</span> <span class="kw-2">&</span>[<span class="ident">addr1</span>, <span class="ident">addr2</span>] {
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>);
}
<span class="ident">builder</span>.<span class="ident">finish</span>()<span class="question-mark">?</span>
};
-<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt1</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[..<span class="number">2</span>], <span class="ident">psbt2</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[..<span class="number">2</span>]);</pre></div>
+<span class="macro">assert_eq!</span>(<span class="ident">psbt1</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[..<span class="number">2</span>], <span class="ident">psbt2</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[..<span class="number">2</span>]);</pre></div>
<p>At the moment <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.coin_selection"><code>coin_selection</code></a> is an exception to the rule as it consumes <code>self</code>.
This means it is usually best to call <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.coin_selection"><code>coin_selection</code></a> on the return value of <code>build_tx</code> before assigning it.</p>
<p>For further examples see <a href="../../../bdk/wallet/tx_builder/index.html">this module</a>’s documentation;</p>
-</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, Cs: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>, Ctx: <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#185-546" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fee_rate" class="method"><code>pub fn <a href="#method.fee_rate" class="fnname">fee_rate</a>(&mut self, fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#189-192" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a custom fee rate</p>
-</div><h4 id="method.fee_absolute" class="method"><code>pub fn <a href="#method.fee_absolute" class="fnname">fee_absolute</a>(&mut self, fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#195-198" title="goto source code">[src]</a></h4><div class="docblock"><p>Set an absolute fee</p>
-</div><h4 id="method.policy_path" class="method"><code>pub fn <a href="#method.policy_path" class="fnname">policy_path</a>(<br> &mut self, <br> policy_path: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#258-270" title="goto source code">[src]</a></h4><div class="docblock"><p>Set the policy path to use while creating the transaction for a given keychain.</p>
+</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><h3 id="impl" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, Cs: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>, Ctx: <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#185-546" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fee_rate" class="method"><code>pub fn <a href="#method.fee_rate" class="fnname">fee_rate</a>(&mut self, fee_rate: <a class="struct" href="../../../bdk/struct.FeeRate.html" title="struct bdk::FeeRate">FeeRate</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.fee_rate" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#189-192" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a custom fee rate</p>
+</div><h4 id="method.fee_absolute" class="method"><code>pub fn <a href="#method.fee_absolute" class="fnname">fee_absolute</a>(&mut self, fee_amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.fee_absolute" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#195-198" title="goto source code">[src]</a></h4><div class="docblock"><p>Set an absolute fee</p>
+</div><h4 id="method.policy_path" class="method"><code>pub fn <a href="#method.policy_path" class="fnname">policy_path</a>(<br> &mut self, <br> policy_path: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/collections/btree/map/struct.BTreeMap.html" title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>>>, <br> keychain: <a class="enum" href="../../../bdk/enum.KeychainKind.html" title="enum bdk::KeychainKind">KeychainKind</a><br>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.policy_path" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#258-270" title="goto source code">[src]</a></h4><div class="docblock"><p>Set the policy path to use while creating the transaction for a given keychain.</p>
<p>This method accepts a map where the key is the policy node id (see
<a href="../../../bdk/descriptor/policy/struct.Policy.html#structfield.id"><code>Policy::id</code></a>) and the value is the list of the indexes of
the items that are intended to be satisfied from the policy node (see
multiple entries can be added to the map, one for each node that requires an explicit path.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
-<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
-<span class="ident">path</span>.<span class="ident">insert</span>(<span class="string">"aabbccdd"</span>.<span class="ident">to_string</span>(), <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>, <span class="number">1</span>]);
+<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
+<span class="ident">path</span>.<span class="ident">insert</span>(<span class="string">"aabbccdd"</span>.<span class="ident">to_string</span>(), <span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>]);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>()
.<span class="ident">add_recipient</span>(<span class="ident">to_address</span>.<span class="ident">script_pubkey</span>(), <span class="number">50_000</span>)
- .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>);
+ .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind::External</span>);
</pre></div>
-</div><h4 id="method.add_utxos" class="method"><code>pub fn <a href="#method.add_utxos" class="fnname">add_utxos</a>(&mut self, outpoints: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a>OutPoint<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#278-294" title="goto source code">[src]</a></h4><div class="docblock"><p>Add the list of outpoints to the internal list of UTXOs that <strong>must</strong> be spent.</p>
+</div><h4 id="method.add_utxos" class="method"><code>pub fn <a href="#method.add_utxos" class="fnname">add_utxos</a>(&mut self, outpoints: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&[</a>OutPoint<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.add_utxos" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#278-294" title="goto source code">[src]</a></h4><div class="docblock"><p>Add the list of outpoints to the internal list of UTXOs that <strong>must</strong> be spent.</p>
<p>If an error occurs while adding any of the UTXOs then none of them are added and the error is returned.</p>
<p>These have priority over the “unspendable” utxos, meaning that if a utxo is present both in
the “utxos” and the “unspendable” list, it will be spent.</p>
-</div><h4 id="method.add_utxo" class="method"><code>pub fn <a href="#method.add_utxo" class="fnname">add_utxo</a>(&mut self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#300-302" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a utxo to the internal list of utxos that <strong>must</strong> be spent</p>
+</div><h4 id="method.add_utxo" class="method"><code>pub fn <a href="#method.add_utxo" class="fnname">add_utxo</a>(&mut self, outpoint: OutPoint) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.add_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#300-302" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a utxo to the internal list of utxos that <strong>must</strong> be spent</p>
<p>These have priority over the “unspendable” utxos, meaning that if a utxo is present both in
the “utxos” and the “unspendable” list, it will be spent.</p>
-</div><h4 id="method.add_foreign_utxo" class="method"><code>pub fn <a href="#method.add_foreign_utxo" class="fnname">add_foreign_utxo</a>(<br> &mut self, <br> outpoint: OutPoint, <br> psbt_input: Input, <br> satisfaction_weight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#345-380" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a foreign UTXO i.e. a UTXO not owned by this wallet.</p>
+</div><h4 id="method.add_foreign_utxo" class="method"><code>pub fn <a href="#method.add_foreign_utxo" class="fnname">add_foreign_utxo</a>(<br> &mut self, <br> outpoint: OutPoint, <br> psbt_input: Input, <br> satisfaction_weight: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a><br>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.add_foreign_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#345-380" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a foreign UTXO i.e. a UTXO not owned by this wallet.</p>
<p>At a minimum to add a foreign UTXO we need:</p>
<ol>
<li><code>outpoint</code>: To add it to the raw transaction.</li>
</ol>
<p>Note if you set <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.force_non_witness_utxo"><code>force_non_witness_utxo</code></a> any <code>psbt_input</code> you pass to this method must
have <code>non_witness_utxo</code> set otherwise you will get an error when <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.finish"><code>finish</code></a> is called.</p>
-</div><h4 id="method.manually_selected_only" class="method"><code>pub fn <a href="#method.manually_selected_only" class="fnname">manually_selected_only</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#388-391" title="goto source code">[src]</a></h4><div class="docblock"><p>Only spend utxos added by <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_utxo"><code>add_utxo</code></a>.</p>
+</div><h4 id="method.manually_selected_only" class="method"><code>pub fn <a href="#method.manually_selected_only" class="fnname">manually_selected_only</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.manually_selected_only" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#388-391" title="goto source code">[src]</a></h4><div class="docblock"><p>Only spend utxos added by <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_utxo"><code>add_utxo</code></a>.</p>
<p>The wallet will <strong>not</strong> add additional utxos to the transaction even if they are needed to
make the transaction valid.</p>
-</div><h4 id="method.unspendable" class="method"><code>pub fn <a href="#method.unspendable" class="fnname">unspendable</a>(&mut self, unspendable: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><OutPoint>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#397-400" title="goto source code">[src]</a></h4><div class="docblock"><p>Replace the internal list of unspendable utxos with a new list</p>
+</div><h4 id="method.unspendable" class="method"><code>pub fn <a href="#method.unspendable" class="fnname">unspendable</a>(&mut self, unspendable: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><OutPoint>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.unspendable" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#397-400" title="goto source code">[src]</a></h4><div class="docblock"><p>Replace the internal list of unspendable utxos with a new list</p>
<p>It’s important to note that the “must-be-spent” utxos added with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_utxo" title="TxBuilder::add_utxo"><code>TxBuilder::add_utxo</code></a>
have priority over these. See the docs of the two linked methods for more details.</p>
-</div><h4 id="method.add_unspendable" class="method"><code>pub fn <a href="#method.add_unspendable" class="fnname">add_unspendable</a>(&mut self, unspendable: OutPoint) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#406-409" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a utxo to the internal list of unspendable utxos</p>
+</div><h4 id="method.add_unspendable" class="method"><code>pub fn <a href="#method.add_unspendable" class="fnname">add_unspendable</a>(&mut self, unspendable: OutPoint) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.add_unspendable" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#406-409" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a utxo to the internal list of unspendable utxos</p>
<p>It’s important to note that the “must-be-spent” utxos added with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_utxo" title="TxBuilder::add_utxo"><code>TxBuilder::add_utxo</code></a>
have priority over this. See the docs of the two linked methods for more details.</p>
-</div><h4 id="method.sighash" class="method"><code>pub fn <a href="#method.sighash" class="fnname">sighash</a>(&mut self, sighash: SigHashType) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#414-417" title="goto source code">[src]</a></h4><div class="docblock"><p>Sign with a specific sig hash</p>
+</div><h4 id="method.sighash" class="method"><code>pub fn <a href="#method.sighash" class="fnname">sighash</a>(&mut self, sighash: SigHashType) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.sighash" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#414-417" title="goto source code">[src]</a></h4><div class="docblock"><p>Sign with a specific sig hash</p>
<p><strong>Use this option very carefully</strong></p>
-</div><h4 id="method.ordering" class="method"><code>pub fn <a href="#method.ordering" class="fnname">ordering</a>(&mut self, ordering: <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#420-423" title="goto source code">[src]</a></h4><div class="docblock"><p>Choose the ordering for inputs and outputs of the transaction</p>
-</div><h4 id="method.nlocktime" class="method"><code>pub fn <a href="#method.nlocktime" class="fnname">nlocktime</a>(&mut self, locktime: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#428-431" title="goto source code">[src]</a></h4><div class="docblock"><p>Use a specific nLockTime while creating the transaction</p>
+</div><h4 id="method.ordering" class="method"><code>pub fn <a href="#method.ordering" class="fnname">ordering</a>(&mut self, ordering: <a class="enum" href="../../../bdk/wallet/tx_builder/enum.TxOrdering.html" title="enum bdk::wallet::tx_builder::TxOrdering">TxOrdering</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.ordering" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#420-423" title="goto source code">[src]</a></h4><div class="docblock"><p>Choose the ordering for inputs and outputs of the transaction</p>
+</div><h4 id="method.nlocktime" class="method"><code>pub fn <a href="#method.nlocktime" class="fnname">nlocktime</a>(&mut self, locktime: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.nlocktime" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#428-431" title="goto source code">[src]</a></h4><div class="docblock"><p>Use a specific nLockTime while creating the transaction</p>
<p>This can cause conflicts if the wallet’s descriptors contain an “after” (OP_CLTV) operator.</p>
-</div><h4 id="method.version" class="method"><code>pub fn <a href="#method.version" class="fnname">version</a>(&mut self, version: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#437-440" title="goto source code">[src]</a></h4><div class="docblock"><p>Build a transaction with a specific version</p>
+</div><h4 id="method.version" class="method"><code>pub fn <a href="#method.version" class="fnname">version</a>(&mut self, version: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.i32.html">i32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.version" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#437-440" title="goto source code">[src]</a></h4><div class="docblock"><p>Build a transaction with a specific version</p>
<p>The <code>version</code> should always be greater than <code>0</code> and greater than <code>1</code> if the wallet’s
descriptors contain an “older” (OP_CSV) operator.</p>
-</div><h4 id="method.do_not_spend_change" class="method"><code>pub fn <a href="#method.do_not_spend_change" class="fnname">do_not_spend_change</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#446-449" title="goto source code">[src]</a></h4><div class="docblock"><p>Do not spend change outputs</p>
+</div><h4 id="method.do_not_spend_change" class="method"><code>pub fn <a href="#method.do_not_spend_change" class="fnname">do_not_spend_change</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.do_not_spend_change" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#446-449" title="goto source code">[src]</a></h4><div class="docblock"><p>Do not spend change outputs</p>
<p>This effectively adds all the change outputs to the “unspendable” list. See
<a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.unspendable" title="TxBuilder::unspendable"><code>TxBuilder::unspendable</code></a>.</p>
-</div><h4 id="method.only_spend_change" class="method"><code>pub fn <a href="#method.only_spend_change" class="fnname">only_spend_change</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#455-458" title="goto source code">[src]</a></h4><div class="docblock"><p>Only spend change outputs</p>
+</div><h4 id="method.only_spend_change" class="method"><code>pub fn <a href="#method.only_spend_change" class="fnname">only_spend_change</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.only_spend_change" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#455-458" title="goto source code">[src]</a></h4><div class="docblock"><p>Only spend change outputs</p>
<p>This effectively adds all the non-change outputs to the “unspendable” list. See
<a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.unspendable" title="TxBuilder::unspendable"><code>TxBuilder::unspendable</code></a>.</p>
-</div><h4 id="method.change_policy" class="method"><code>pub fn <a href="#method.change_policy" class="fnname">change_policy</a>(&mut self, change_policy: <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#462-465" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a specific <a href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="ChangeSpendPolicy"><code>ChangeSpendPolicy</code></a>. See <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.do_not_spend_change" title="TxBuilder::do_not_spend_change"><code>TxBuilder::do_not_spend_change</code></a> and
+</div><h4 id="method.change_policy" class="method"><code>pub fn <a href="#method.change_policy" class="fnname">change_policy</a>(&mut self, change_policy: <a class="enum" href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="enum bdk::wallet::tx_builder::ChangeSpendPolicy">ChangeSpendPolicy</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.change_policy" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#462-465" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a specific <a href="../../../bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html" title="ChangeSpendPolicy"><code>ChangeSpendPolicy</code></a>. See <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.do_not_spend_change" title="TxBuilder::do_not_spend_change"><code>TxBuilder::do_not_spend_change</code></a> and
<a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.only_spend_change" title="TxBuilder::only_spend_change"><code>TxBuilder::only_spend_change</code></a> for some shortcuts.</p>
-</div><h4 id="method.force_non_witness_utxo" class="method"><code>pub fn <a href="#method.force_non_witness_utxo" class="fnname">force_non_witness_utxo</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#471-474" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <a href="bitcoin::util::psbt::Input::non_witness_utxo"><code>psbt::Input::non_witness_utxo</code></a> field even if the wallet only has SegWit
+</div><h4 id="method.force_non_witness_utxo" class="method"><code>pub fn <a href="#method.force_non_witness_utxo" class="fnname">force_non_witness_utxo</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.force_non_witness_utxo" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#471-474" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <a href="bitcoin::util::psbt::Input::non_witness_utxo"><code>psbt::Input::non_witness_utxo</code></a> field even if the wallet only has SegWit
descriptors.</p>
<p>This is useful for signers which always require it, like Trezor hardware wallets.</p>
-</div><h4 id="method.include_output_redeem_witness_script" class="method"><code>pub fn <a href="#method.include_output_redeem_witness_script" class="fnname">include_output_redeem_witness_script</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#480-483" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <a href="bitcoin::util::psbt::Output::redeem_script"><code>psbt::Output::redeem_script</code></a> and
+</div><h4 id="method.include_output_redeem_witness_script" class="method"><code>pub fn <a href="#method.include_output_redeem_witness_script" class="fnname">include_output_redeem_witness_script</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.include_output_redeem_witness_script" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#480-483" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <a href="bitcoin::util::psbt::Output::redeem_script"><code>psbt::Output::redeem_script</code></a> and
<a href="bitcoin::util::psbt::Output::witness_script"><code>psbt::Output::witness_script</code></a> fields.</p>
<p>This is useful for signers which always require it, like ColdCard hardware wallets.</p>
-</div><h4 id="method.add_global_xpubs" class="method"><code>pub fn <a href="#method.add_global_xpubs" class="fnname">add_global_xpubs</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#490-493" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <code>PSBT_GLOBAL_XPUB</code> field with the extended keys contained in both the external
+</div><h4 id="method.add_global_xpubs" class="method"><code>pub fn <a href="#method.add_global_xpubs" class="fnname">add_global_xpubs</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.add_global_xpubs" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#490-493" title="goto source code">[src]</a></h4><div class="docblock"><p>Fill-in the <code>PSBT_GLOBAL_XPUB</code> field with the extended keys contained in both the external
and internal descriptors</p>
<p>This is useful for offline signers that take part to a multisig. Some hardware wallets like
BitBox and ColdCard are known to require this.</p>
-</div><h4 id="method.drain_wallet" class="method"><code>pub fn <a href="#method.drain_wallet" class="fnname">drain_wallet</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#496-499" title="goto source code">[src]</a></h4><div class="docblock"><p>Spend all the available inputs. This respects filters like <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.unspendable" title="TxBuilder::unspendable"><code>TxBuilder::unspendable</code></a> and the change policy.</p>
-</div><h4 id="method.coin_selection" class="method"><code>pub fn <a href="#method.coin_selection" class="fnname">coin_selection</a><P: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>>(<br> self, <br> coin_selection: P<br>) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, P, Ctx></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#506-516" title="goto source code">[src]</a></h4><div class="docblock"><p>Choose the coin selection algorithm</p>
+</div><h4 id="method.drain_wallet" class="method"><code>pub fn <a href="#method.drain_wallet" class="fnname">drain_wallet</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.drain_wallet" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#496-499" title="goto source code">[src]</a></h4><div class="docblock"><p>Spend all the available inputs. This respects filters like <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.unspendable" title="TxBuilder::unspendable"><code>TxBuilder::unspendable</code></a> and the change policy.</p>
+</div><h4 id="method.coin_selection" class="method"><code>pub fn <a href="#method.coin_selection" class="fnname">coin_selection</a><P: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>>(<br> self, <br> coin_selection: P<br>) -> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, P, Ctx></code><a href="#method.coin_selection" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#506-516" title="goto source code">[src]</a></h4><div class="docblock"><p>Choose the coin selection algorithm</p>
<p>Overrides the <a href="../../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html"><code>DefaultCoinSelectionAlgorithm</code></a>.</p>
<p>Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.</p>
-</div><h4 id="method.finish" class="method"><code>pub fn <a href="#method.finish" class="fnname">finish</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#523-525" title="goto source code">[src]</a></h4><div class="docblock"><p>Finish the building the transaction.</p>
+</div><h4 id="method.finish" class="method"><code>pub fn <a href="#method.finish" class="fnname">finish</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>PSBT, <a class="struct" href="../../../bdk/struct.TransactionDetails.html" title="struct bdk::TransactionDetails">TransactionDetails</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.finish" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#523-525" title="goto source code">[src]</a></h4><div class="docblock"><p>Finish the building the transaction.</p>
<p>Returns the <a href="https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki"><code>BIP174</code></a> “PSBT” and summary details about the transaction.</p>
-</div><h4 id="method.enable_rbf" class="method"><code>pub fn <a href="#method.enable_rbf" class="fnname">enable_rbf</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#530-533" title="goto source code">[src]</a></h4><div class="docblock"><p>Enable signaling RBF</p>
+</div><h4 id="method.enable_rbf" class="method"><code>pub fn <a href="#method.enable_rbf" class="fnname">enable_rbf</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.enable_rbf" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#530-533" title="goto source code">[src]</a></h4><div class="docblock"><p>Enable signaling RBF</p>
<p>This will use the default nSequence value of <code>0xFFFFFFFD</code>.</p>
-</div><h4 id="method.enable_rbf_with_sequence" class="method"><code>pub fn <a href="#method.enable_rbf_with_sequence" class="fnname">enable_rbf_with_sequence</a>(&mut self, nsequence: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#542-545" title="goto source code">[src]</a></h4><div class="docblock"><p>Enable signaling RBF with a specific nSequence value</p>
+</div><h4 id="method.enable_rbf_with_sequence" class="method"><code>pub fn <a href="#method.enable_rbf_with_sequence" class="fnname">enable_rbf_with_sequence</a>(&mut self, nsequence: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.enable_rbf_with_sequence" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#542-545" title="goto source code">[src]</a></h4><div class="docblock"><p>Enable signaling RBF with a specific nSequence value</p>
<p>This can cause conflicts if the wallet’s descriptors contain an “older” (OP_CSV) operator
and the given <code>nsequence</code> is lower than the CSV value.</p>
<p>If the <code>nsequence</code> is higher than <code>0xFFFFFFFD</code> an error will be thrown, since it would not
be a valid nSequence to signal RBF.</p>
-</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, Cs: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a>></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#548-581" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_recipients" class="method"><code>pub fn <a href="#method.set_recipients" class="fnname">set_recipients</a>(&mut self, recipients: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Script, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#550-553" title="goto source code">[src]</a></h4><div class="docblock"><p>Replace the recipients already added with a new list</p>
-</div><h4 id="method.add_recipient" class="method"><code>pub fn <a href="#method.add_recipient" class="fnname">add_recipient</a>(&mut self, script_pubkey: Script, amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#556-559" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a recipient to the internal list</p>
-</div><h4 id="method.set_single_recipient" class="method"><code>pub fn <a href="#method.set_single_recipient" class="fnname">set_single_recipient</a>(&mut self, recipient: Script) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#575-580" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a single recipient that will get all the selected funds minus the fee. No change will
+</div></div><h3 id="impl-1" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>, Cs: <a class="trait" href="../../../bdk/wallet/coin_selection/trait.CoinSelectionAlgorithm.html" title="trait bdk::wallet::coin_selection::CoinSelectionAlgorithm">CoinSelectionAlgorithm</a><D>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a>></code><a href="#impl-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#548-581" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.set_recipients" class="method"><code>pub fn <a href="#method.set_recipients" class="fnname">set_recipients</a>(&mut self, recipients: <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a>Script, <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.set_recipients" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#550-553" title="goto source code">[src]</a></h4><div class="docblock"><p>Replace the recipients already added with a new list</p>
+</div><h4 id="method.add_recipient" class="method"><code>pub fn <a href="#method.add_recipient" class="fnname">add_recipient</a>(&mut self, script_pubkey: Script, amount: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u64.html">u64</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.add_recipient" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#556-559" title="goto source code">[src]</a></h4><div class="docblock"><p>Add a recipient to the internal list</p>
+</div><h4 id="method.set_single_recipient" class="method"><code>pub fn <a href="#method.set_single_recipient" class="fnname">set_single_recipient</a>(&mut self, recipient: Script) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self</code><a href="#method.set_single_recipient" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#575-580" title="goto source code">[src]</a></h4><div class="docblock"><p>Set a single recipient that will get all the selected funds minus the fee. No change will
be created</p>
<p>This method overrides any recipient set with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.set_recipients"><code>set_recipients</code></a> or
<a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_recipient"><code>add_recipient</code></a>.</p>
<p>When bumping the fees of a transaction made with this option, the user should remeber to
add <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.maintain_single_recipient"><code>maintain_single_recipient</code></a> to correctly update the
single output instead of adding one more for the change.</p>
-</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, <a class="type" href="../../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a>></code><a href="#impl-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#584-605" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.maintain_single_recipient" class="method"><code>pub fn <a href="#method.maintain_single_recipient" class="fnname">maintain_single_recipient</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#597-604" title="goto source code">[src]</a></h4><div class="docblock"><p>Bump the fees of a transaction made with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.set_single_recipient"><code>set_single_recipient</code></a></p>
+</div></div><h3 id="impl-2" class="impl"><code class="in-band">impl<'a, B, D: <a class="trait" href="../../../bdk/database/trait.BatchDatabase.html" title="trait bdk::database::BatchDatabase">BatchDatabase</a>> <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, <a class="type" href="../../../bdk/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html" title="type bdk::wallet::coin_selection::DefaultCoinSelectionAlgorithm">DefaultCoinSelectionAlgorithm</a>, <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a>></code><a href="#impl-2" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#584-605" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.maintain_single_recipient" class="method"><code>pub fn <a href="#method.maintain_single_recipient" class="fnname">maintain_single_recipient</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>Self, <a class="enum" href="../../../bdk/enum.Error.html" title="enum bdk::Error">Error</a>></code><a href="#method.maintain_single_recipient" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#597-604" title="goto source code">[src]</a></h4><div class="docblock"><p>Bump the fees of a transaction made with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.set_single_recipient"><code>set_single_recipient</code></a></p>
<p>Unless extra inputs are specified with <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html#method.add_utxo"><code>add_utxo</code></a>, this flag will make
<code>bump_fee</code> reduce the value of the existing output, or fail if it would be consumed
entirely given the higher new fee rate.</p>
<p>If extra inputs are added and they are not entirely consumed in fees, a change output will not
be added; the existing output will simply grow in value.</p>
<p>Fails if the transaction has more than one outputs.</p>
-</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<'a, Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, Ctx, B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#173-182" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> Self</code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#174-181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
-</div><h4 id="method.clone_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
-</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<'a, B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#119" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#119" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
-</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx> <span class="where fmt-newline">where<br> Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
-</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
-</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
-</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
+</div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><h3 id="impl-Clone" class="impl"><code class="in-band">impl<'a, Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, Ctx, B, D> <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#173-182" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.clone" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&self) -> Self</code><a href="#method.clone" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#174-181" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
+</div><h4 id="method.clone_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>Self)</code><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#130" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
+</div></div><h3 id="impl-Debug" class="impl"><code class="in-band">impl<'a, B: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>> <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Debug" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#119" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.fmt" class="method hidden trait-impl"><code>fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a href="#method.fmt" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#119" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
+</div></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><h3 id="impl-RefUnwindSafe" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-RefUnwindSafe" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Send" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Send" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Sync" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-Sync" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-Unpin" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx> <span class="where fmt-newline">where<br> Cs: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,<br> Ctx: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>, </span></code><a href="#impl-Unpin" class="anchor"></a></h3><div class="impl-items"></div><h3 id="impl-UnwindSafe" class="impl"><code class="in-band">impl<'a, B, D, Cs, Ctx> !<a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="struct bdk::wallet::tx_builder::TxBuilder">TxBuilder</a><'a, B, D, Cs, Ctx></code><a href="#impl-UnwindSafe" class="anchor"></a></h3><div class="impl-items"></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><h3 id="impl-Any" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br> T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Any" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#131-135" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.type_id" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a href="#method.type_id" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
+</div></div><h3 id="impl-Borrow%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-Borrow%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#208-213" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><a href="#method.borrow" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
+</div></div><h3 id="impl-BorrowMut%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <span class="where fmt-newline">where<br> T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>, </span></code><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#216-220" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.borrow_mut" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><a href="#method.borrow_mut" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
+</div></div><h3 id="impl-From%3CT%3E" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</code><a href="#impl-From%3CT%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#544-548" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -> T</code><a href="#method.from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#545" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Instrument" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</code><a href="#impl-Instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#155" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.instrument" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.instrument" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#38" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the provided <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></p>
-</div><h4 id="method.in_current_span" class="method hidden"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
+</div><h4 id="method.in_current_span" class="method hidden trait-impl"><code>pub fn <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -> <a class="struct" href="https://docs.rs/tracing/0.1.25/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a><Self></code><a href="#method.in_current_span" class="anchor"></a><a class="srclink" href="https://docs.rs/tracing/0.1.25/src/tracing/instrument.rs.html#74" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Instruments this type with the <a href="../struct.Span.html#method.current">current</a> <code>Span</code>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.25/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></p>
-</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
-</div><h4 id="associatedtype.Init" class="type"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code></h4><div class='docblock'><p>The type for initializers.</p>
-</div><h4 id="method.init" class="method hidden"><code>pub unsafe fn <a href="#method.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
-</div><h4 id="method.deref" class="method hidden"><code>pub unsafe fn <a href="#method.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
-</div><h4 id="method.deref_mut" class="method hidden"><code>pub unsafe fn <a href="#method.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
-</div><h4 id="method.drop" class="method hidden"><code>pub unsafe fn <a href="#method.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
-</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code></h4><div class='docblock'><p>Should always be <code>Self</code></p>
-</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
-</div><h4 id="method.to_owned" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
-</div><h4 id="method.clone_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
+</div></div><h3 id="impl-Into%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>, </span></code><a href="#impl-Into%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#533-540" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="method.into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -> U</code><a href="#method.into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#537" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-Pointable" class="impl"><code class="in-band">impl<T> Pointable for T</code><a href="#impl-Pointable" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedconstant.ALIGN" class="associatedconstant hidden trait-impl"><code>pub const <a href="#associatedconstant.ALIGN" class="constant"><b>ALIGN</b></a>: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#associatedconstant.ALIGN" class="anchor"></a></h4><div class='docblock hidden'><p>The alignment of pointer.</p>
+</div><h4 id="associatedtype.Init" class="type trait-impl"><code>type <a href="#associatedtype.Init" class="type">Init</a> = T</code><a href="#associatedtype.Init" class="anchor"></a></h4><div class='docblock'><p>The type for initializers.</p>
+</div><h4 id="method.init" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.init" class="fnname">init</a>(init: <T as Pointable>::Init) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></code><a href="#method.init" class="anchor"></a></h4><div class='docblock hidden'><p>Initializes a with the given initializer. <a href="#tymethod.init">Read more</a></p>
+</div><h4 id="method.deref" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref" class="fnname">deref</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a </a>T</code><a href="#method.deref" class="anchor"></a></h4><div class='docblock hidden'><p>Dereferences the given pointer. <a href="#tymethod.deref">Read more</a></p>
+</div><h4 id="method.deref_mut" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.deref_mut" class="fnname">deref_mut</a><'a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&'a mut </a>T</code><a href="#method.deref_mut" class="anchor"></a></h4><div class='docblock hidden'><p>Mutably dereferences the given pointer. <a href="#tymethod.deref_mut">Read more</a></p>
+</div><h4 id="method.drop" class="method hidden trait-impl"><code>pub unsafe fn <a href="#tymethod.drop" class="fnname">drop</a>(ptr: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>)</code><a href="#method.drop" class="anchor"></a></h4><div class='docblock hidden'><p>Drops the object pointed to by the given pointer. <a href="#tymethod.drop">Read more</a></p>
+</div></div><h3 id="impl-Same%3CT%3E" class="impl"><code class="in-band">impl<T> Same<T> for T</code><a href="#impl-Same%3CT%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="associatedtype.Output" class="type trait-impl"><code>type <a href="#associatedtype.Output" class="type">Output</a> = T</code><a href="#associatedtype.Output" class="anchor"></a></h4><div class='docblock'><p>Should always be <code>Self</code></p>
+</div></div><h3 id="impl-ToOwned" class="impl"><code class="in-band">impl<T> <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br> T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, </span></code><a href="#impl-ToOwned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-93" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Owned" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="type">Owned</a> = T</code><a href="#associatedtype.Owned" class="anchor"></a></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
+</div><h4 id="method.to_owned" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&self) -> T</code><a href="#method.to_owned" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#86" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
+</div><h4 id="method.clone_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><a href="#method.clone_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#90" title="goto source code">[src]</a></h4><div class="item-info hidden"><div class="stab unstable"><details><summary><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
-</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_from" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
-</div><h4 id="method.try_into" class="method hidden"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
-</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden"><code>pub fn <a href="#method.vzip" class="fnname">vzip</a>(self) -> V</code></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
+</div></div><h3 id="impl-TryFrom%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>, </span></code><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#581-590" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code><a href="#associatedtype.Error" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_from" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_from" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-TryInto%3CU%3E" class="impl"><code class="in-band">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T <span class="where fmt-newline">where<br> U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><a href="#impl-TryInto%3CU%3E" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#567-576" title="goto source code">[src]</a></h3><div class="impl-items"><h4 id="associatedtype.Error-1" class="type trait-impl"><code>type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="type">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code><a href="#associatedtype.Error-1" class="anchor"></a></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
+</div><h4 id="method.try_into" class="method hidden trait-impl"><code>pub fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></code><a href="#method.try_into" class="anchor"></a><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#573" title="goto source code">[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
+</div></div><h3 id="impl-VZip%3CV%3E" class="impl"><code class="in-band">impl<V, T> VZip<V> for T <span class="where fmt-newline">where<br> V: MultiLane<T>, </span></code><a href="#impl-VZip%3CV%3E" class="anchor"></a></h3><div class="impl-items"><h4 id="method.vzip" class="method hidden trait-impl"><code>pub fn <a href="#tymethod.vzip" class="fnname">vzip</a>(self) -> V</code><a href="#method.vzip" class="anchor"></a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
<!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="Context in which the [`TxBuilder`] is valid"><meta name="keywords" content="rust, rustlang, rust-lang, TxBuilderContext"><title>bdk::wallet::tx_builder::TxBuilderContext - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait TxBuilderContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxBuilderContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
- <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="trait" href="">TxBuilderContext</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#56" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait TxBuilderContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> { }</pre></div><div class="docblock"><p>Context in which the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is valid</p>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a><p class="location">Trait TxBuilderContext</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#implementors">Implementors</a></div><p class="location"><a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a></p><div id="sidebar-vars" data-name="TxBuilderContext" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+ <a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Trait <a href="../../index.html">bdk</a>::<wbr><a href="../index.html">wallet</a>::<wbr><a href="index.html">tx_builder</a>::<wbr><a class="trait" href="">TxBuilderContext</a><button id="copy-path" onclick="copy_path(this)">⎘</button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#56" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class="rust trait">pub trait TxBuilderContext: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> { }</pre></div><div class="docblock"><p>Context in which the <a href="../../../bdk/wallet/tx_builder/struct.TxBuilder.html" title="TxBuilder"><code>TxBuilder</code></a> is valid</p>
</div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><h3 id="impl-TxBuilderContext" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.BumpFee.html" title="struct bdk::wallet::tx_builder::BumpFee">BumpFee</a></code><a href="#impl-TxBuilderContext" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#67" title="goto source code">[src]</a></h3><div class="impl-items"></div><h3 id="impl-TxBuilderContext-1" class="impl"><code class="in-band">impl <a class="trait" href="../../../bdk/wallet/tx_builder/trait.TxBuilderContext.html" title="trait bdk::wallet::tx_builder::TxBuilderContext">TxBuilderContext</a> for <a class="struct" href="../../../bdk/wallet/tx_builder/struct.CreateTx.html" title="struct bdk::wallet::tx_builder::CreateTx">CreateTx</a></code><a href="#impl-TxBuilderContext-1" class="anchor"></a><a class="srclink" href="../../../src/bdk/wallet/tx_builder.rs.html#62" title="goto source code">[src]</a></h3><div class="impl-items"></div></div><span class="loading-content">Loading content...</span><script type="text/javascript" src="../../../implementors/bdk/wallet/tx_builder/trait.TxBuilderContext.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script></body></html>
\ No newline at end of file
-body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}
\ No newline at end of file
+body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;color:#2f2f2f;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}
\ No newline at end of file
- body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}
\ No newline at end of file
+ body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#ffc4c4;border-color:#db7b7b;}.stab.portability{background:#F3DFFF;border-color:#b07bdb;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button,#copy-path{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus,#copy-path:hover,#copy-path:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}
\ No newline at end of file
-if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}function getThemesElement(){return document.getElementById("theme-choices")}function getThemePickerElement(){return document.getElementById("theme-picker")}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){var tmp=to;to=from;from=tmp}var elem=document.getElementById(from);if(!elem){return}if(!ev){var x=document.getElementById(from);if(x){x.scrollIntoView()}}onEachLazy(document.getElementsByClassName("line-numbers"),function(e){onEachLazy(e.getElementsByTagName("span"),function(i_e){removeClass(i_e,"line-highlighted")})});for(var i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}function onHashChange(ev){hideSidebar();var match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(match){return highlightSourceLines(match,ev)}handleHashes(ev)}function expandSection(id){var elem=document.getElementById(id);if(elem&&isHidden(elem)){var h3=elem.parentNode.previousElementSibling;if(h3&&h3.tagName!=="H3"){h3=h3.previousElementSibling}if(h3){var collapses=h3.getElementsByClassName("collapse-toggle");if(collapses.length>0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(build){if(build!==false){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display===true){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:var themePicker=getThemePickerElement();if(themePicker.parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!=="theme-picker"){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!=="theme-picker"){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id==="theme-picker"&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){var helpElem=getHelpElement(false);if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(helpElem&&hasClass(helpElem,"hidden")===false){var is_inside_help_popup=ev.target!==helpElem&&helpElem.contains(ev.target);if(is_inside_help_popup===false){addClass(helpElem,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i<len;++i){match=url.match(/\/[^\/]*$/);if(i<len-1){stripped=match[0]+stripped}url=url.substring(0,url.length-match[0].length)}var selectedVersion=document.getElementsByClassName("version-selector")[0].value;url+="/"+selectedVersion+stripped;document.location.href=url}}}());var levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}var s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){var i1=0,i2=0,a,b,c,c2,row=levenshtein_row2;while(i1<s1_len){row[i1]=++i1}while(i2<s2_len){c2=s2.charCodeAt(i2);a=i2;++i2;b=i2;for(i1=0;i1<s1_len;++i1){c=a+(s1.charCodeAt(i1)!==c2?1:0);a=row[i1];b=b<a?(b<c?b+1:c):(a<c?a+1:c);row[i1]=b}}return b}return s1_len+s2_len}window.initSearch=function(rawSearchIndex){var MAX_LEV_DISTANCE=3;var MAX_RESULTS=200;var GENERICS_DATA=1;var NAME=0;var INPUTS_DATA=0;var OUTPUT_DATA=1;var NO_TYPE_FILTER=-1;var currentResults,index,searchIndex;var ALIASES={};var params=getQueryStringParams();if(search_input.value===""){search_input.value=params.search||""}function execQuery(query,searchWords,filterCrates){function itemTypeFromName(typename){for(var i=0,len=itemTypes.length;i<len;++i){if(itemTypes[i]===typename){return i}}return NO_TYPE_FILTER}var valLower=query.query.toLowerCase(),val=valLower,typeFilter=itemTypeFromName(query.type),results={},results_in_args={},results_returned={},split=valLower.split("::");split=split.filter(function(segment){return segment!==""});function transformResults(results,isType){var out=[];for(var i=0,len=results.length;i<len;++i){if(results[i].id>-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;i<len;++i){result=results[i];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{}}if(results.length===0){return[]}results.sort(function(aaa,bbb){var a,b;a=(aaa.word!==val);b=(bbb.word!==val);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==window.currentCrate);b=(bbb.item.crate!==window.currentCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});for(i=0,len=results.length;i<len;++i){var result=results[i];if(result.dontValidate){continue}var name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(isType!==true&&validateResult(name,path,split,parent)===false){result.id=-1}}return transformResults(results)}function extractGenerics(val){val=val.toLowerCase();if(val.indexOf("<")!==-1){var values=val.substring(val.indexOf("<")+1,val.lastIndexOf(">"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=object[GENERICS_DATA].length;for(var x=0;x<elength;++x){elems[getObjectNameFromId(obj[GENERICS_DATA][x])]+=1}var total=0;var done=0;var vlength=val.generics.length;for(x=0;x<vlength;++x){var lev=MAX_LEV_DISTANCE+1;var firstGeneric=getObjectNameFromId(val.generics[x]);var match=null;if(elems[firstGeneric]){match=firstGeneric;lev=0}else{for(elem_name in elems){tmp_lev=levenshtein(elem_name,firstGeneric);if(tmp_lev<lev){lev=tmp_lev;match=elem_name}}}if(match!==null){elems[match]-=1;if(elems[match]==0){delete elems[match]}total+=lev;done+=1}else{return MAX_LEV_DISTANCE+1}}return Math.ceil(total/done)}}return MAX_LEV_DISTANCE+1}function checkType(obj,val,literalSearch){var lev_distance=MAX_LEV_DISTANCE+1;var len,x,firstGeneric;if(obj[NAME]===val.name){if(literalSearch===true){if(val.generics&&val.generics.length!==0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;x<len;++x){elems[getObjectNameFromId(obj[GENERICS_DATA][x])]+=1}var allFound=true;len=val.generics.length;for(x=0;x<len;++x){firstGeneric=getObjectNameFromId(val.generics[x]);if(elems[firstGeneric]){elems[firstGeneric]-=1}else{allFound=false;break}}if(allFound===true){return true}}else{return false}}return true}if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x<olength;++x){lev_distance=Math.min(levenshtein(obj[GENERICS_DATA][x],val.name),lev_distance)}}return lev_distance+1}function findArg(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type[INPUTS_DATA]&&obj.type[INPUTS_DATA].length>0){var length=obj.type[INPUTS_DATA].length;for(var i=0;i<length;i++){var tmp=obj.type[INPUTS_DATA][i];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkReturned(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type.length>OUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;x<len;++x){var tmp=ret[x];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkPath(contains,lastElem,ty){if(contains.length===0){return 0}var ret_lev=MAX_LEV_DISTANCE+1;var path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}var length=path.length;var clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(var i=0;i<length;++i){if(i+clength>length){break}var lev_total=0;var aborted=false;for(var x=0;x<clength;++x){var lev=levenshtein(path[i+x],contains[x]);if(lev>MAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;i<len;++i){aliases.push(createAliasFromItem(searchIndex[query_aliases[i]]))}}}else{Object.keys(ALIASES).forEach(function(crate){if(ALIASES[crate][query.search]){var pushTo=crate===window.currentCrate?crateAliases:aliases;var query_aliases=ALIASES[crate][query.search];var len=query_aliases.length;for(var i=0;i<len;++i){pushTo.push(createAliasFromItem(searchIndex[query_aliases[i]]))}}})}var sortFunc=function(aaa,bbb){if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);var pushFunc=function(alias){alias.alias=query.raw;var res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}in_args=findArg(searchIndex[i],val,true,typeFilter);returned=checkReturned(searchIndex[i],val,true,typeFilter);ty=searchIndex[i];fullId=ty.id;if(searchWords[i]===val.name&&typePassesFilter(typeFilter,searchIndex[i].ty)&&results[fullId]===undefined){results[fullId]={id:i,index:-1,dontValidate:true,}}if(in_args===true&&results_in_args[fullId]===undefined){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true&&results_returned[fullId]===undefined){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}}query.inputs=[val];query.output=val;query.search=val}else if(val.search("->")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i<len;++i){inputs[i]=extractGenerics(inputs[i])}var output=extractGenerics(parts[1]);for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}var type=searchIndex[i].type;ty=searchIndex[i];if(!type){continue}fullId=ty.id;returned=checkReturned(ty,output,true,NO_TYPE_FILTER);if(output.name==="*"||returned===true){in_args=false;var is_module=false;if(input==="*"){is_module=true}else{var allFound=true;for(it=0,len=inputs.length;allFound===true&&it<len;it++){allFound=checkType(type,inputs[it],true)}in_args=allFound}if(in_args===true){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}if(is_module===true){results[fullId]={id:i,index:-1,dontValidate:true,}}}}query.inputs=inputs.map(function(input){return input.name});query.output=output.name}else{query.inputs=[val];query.output=val;query.search=val;val=val.replace(/\_/g,"");var valGenerics=extractGenerics(val);var paths=valLower.split("::");var j;for(j=0,len=paths.length;j<len;++j){if(paths[j]===""){paths.splice(j,1);j-=1}}val=paths[paths.length-1];var contains=paths.slice(0,paths.length>1?paths.length-1:1);var lev;for(j=0;j<nSearchWords;++j){ty=searchIndex[j];if(!ty||(filterCrates!==undefined&&ty.crate!==filterCrates)){continue}var lev_add=0;if(paths.length>1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i<len;++i){if(!(name.indexOf(keys[i])>-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="<table class=\"search-results\""+extraStyle+">";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+="<tr class=\""+type+" result\"><td>"+"<a href=\""+item.href+"\">"+(item.is_alias===true?("<span class=\"alias\"><b>"+item.alias+" </b></span><span "+"class=\"grey\"><i> - see </i></span>"):"")+item.displayPath+"<span class=\""+type+"\">"+name+"</span></a></td><td>"+"<a href=\""+item.href+"\">"+"<span class=\"desc\">"+item.desc+" </span></a></td></tr>"});output+="</table>"}else{output="<div class=\"search-failed\""+extraStyle+">No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.query)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul></div>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return"<button class=\"selected\">"+text+" <div class=\"count\">("+nbElems+")</div></button>"}return"<button>"+text+" <div class=\"count\">("+nbElems+")</div></button>"}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}var output="<h1>Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"</h1>"+"<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div><div id=\"results\">"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"</div>";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;it<len;++it){if(arrays[it].length>positions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;x<arrays_len;++x){positions.push(0)}while(ret.length<MAX_RESULTS){var smallest=getSmallest(arrays,positions,notDuplicates);if(smallest===null){break}for(x=0;x<arrays_len&&ret.length<MAX_RESULTS;++x){if(arrays[x].length>positions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i<len;++i){query=queries[i].trim();if(query.length!==0){var tmp=execQuery(getQuery(query),searchWords,filterCrates);results.in_args.push(tmp.in_args);results.returned.push(tmp.returned);results.others.push(tmp.others)}}if(queries.length>1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i<len;++i){paths[i]={ty:paths[i][0],name:paths[i][1]}}len=itemTypes.length;var lastPath="";for(i=0;i<len;++i){if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase();searchWords.push(word)}else{word="";searchWords.push("")}var normalizedName=word.indexOf("_")===-1?word:word.replace(/_/g,"");var row={crate:crate,ty:itemTypes[i],name:itemNames[i],path:itemPaths[i]?itemPaths[i]:lastPath,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j<len;++j){ALIASES[crate][alias_name].push(local_aliases[j]+currentIndex)}}}currentIndex+=crateSize}return searchWords}function registerSearchEvents(){var searchAfter500ms=function(){clearInputTimeout();if(search_input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}hideSearchResults()}else{searchTimeout=setTimeout(search,500)}};search_input.onkeyup=searchAfter500ms;search_input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=function(e){e.preventDefault();clearInputTimeout();search()};search_input.onchange=function(e){if(e.target!==document.activeElement){return}clearInputTimeout();setTimeout(search,0)};search_input.onpaste=search_input.onchange;var selectCrate=document.getElementById("crate-search");if(selectCrate){selectCrate.onchange=function(){updateLocalStorage("rustdoc-saved-filter-crate",selectCrate.value);search(undefined,true)}}if(browserSupportsHistoryApi()){var previousTitle=document.title;window.addEventListener("popstate",function(e){var params=getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="<h3>Crates</h3>";var ul=document.createElement("ul");div.appendChild(ul);for(var i=0;i<crates.length;++i){var klass="crate";if(window.rootPath!=="./"&&crates[i]===window.currentCrate){klass+=" current"}var link=document.createElement("a");link.href=window.rootPath+crates[i]+"/index.html";link.className=klass;link.textContent=crates[i];var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(div)}}}window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i<len;++i){var item=filtered[i];var name=item[0];var desc=item[1];var klass=shortty;if(name===current.name&&shortty===current.ty){klass+=" current"}var path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}var link=document.createElement("a");link.href=current.relpath+path;link.title=desc;link.className=klass;link.textContent=name;var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}div.appendChild(ul);if(sidebar){sidebar.appendChild(div)}}block("primitive","Primitive Types");block("mod","Modules");block("macro","Macros");block("struct","Structs");block("enum","Enums");block("union","Unions");block("constant","Constants");block("static","Statics");block("trait","Traits");block("fn","Functions");block("type","Type Definitions");block("foreigntype","Foreign Types");block("keyword","Keywords");block("traitalias","Trait Aliases")};window.register_implementors=function(imp){var implementors=document.getElementById("implementors-list");var synthetic_implementors=document.getElementById("synthetic-implementors-list");if(synthetic_implementors){var inlined_types=new Set();onEachLazy(synthetic_implementors.getElementsByClassName("impl"),function(el){var aliases=el.getAttribute("aliases");if(!aliases){return}aliases.split(",").forEach(function(alias){inlined_types.add(alias)})})}var libs=Object.getOwnPropertyNames(imp);for(var i=0,llength=libs.length;i<llength;++i){if(libs[i]===window.currentCrate){continue}var structs=imp[libs[i]];struct_loop:for(var j=0,slength=structs.length;j<slength;++j){var struct=structs[j];var list=struct.synthetic?synthetic_implementors:implementors;if(struct.synthetic){for(var k=0,stlength=struct.types.length;k<stlength;k++){if(inlined_types.has(struct.types[k])){continue struct_loop}inlined_types.add(struct.types[k])}}var code=document.createElement("code");code.innerHTML=struct.text;onEachLazy(code.getElementsByTagName("a"),function(elem){var href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});var display=document.createElement("h3");addClass(display,"impl");display.innerHTML="<span class=\"in-band\"><table class=\"table-display\">"+"<tbody><tr><td><code>"+code.outerHTML+"</code></td><td></td></tr>"+"</tbody></table></span>";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i<length;++i){if(hasClass(nodes[i],className)){func(nodes[i])}else{onEveryMatchingChild(nodes[i],className,func)}}}}function toggleAllDocs(fromAutoCollapse){var innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){updateLocalStorage("rustdoc-collapse","false");removeClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){e.innerHTML=labelForToggleButton(false)});innerToggle.title="collapse all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){collapseDocs(e,"show")})}}else{updateLocalStorage("rustdoc-collapse","true");addClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){e.innerHTML=labelForToggleButton(true)}});innerToggle.title="expand all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){collapseDocs(e,"hide")}})}}}function collapseDocs(toggle,mode){if(!toggle||!toggle.parentNode){return}function adjustToggle(arg){return function(e){if(hasClass(e,"toggle-label")){if(arg){e.style.display="inline-block"}else{e.style.display="none"}}if(hasClass(e,"inner")){e.innerHTML=labelForToggleButton(arg)}}}function implHider(addOrRemove,fullHide){return function(n){var shouldHide=fullHide===true||hasClass(n,"method")===true||hasClass(n,"associatedconstant")===true;if(shouldHide===true||hasClass(n,"type")===true){if(shouldHide===true){if(addOrRemove){addClass(n,"hidden-by-impl-hider")}else{removeClass(n,"hidden-by-impl-hider")}}var ns=n.nextElementSibling;while(ns&&(hasClass(ns,"docblock")||hasClass(ns,"item-info"))){if(addOrRemove){addClass(ns,"hidden-by-impl-hider")}else{removeClass(ns,"hidden-by-impl-hider")}ns=ns.nextElementSibling}}}}var relatedDoc;var action=mode;if(hasClass(toggle.parentNode,"impl")===false){relatedDoc=toggle.parentNode.nextElementSibling;if(hasClass(relatedDoc,"item-info")){relatedDoc=relatedDoc.nextElementSibling}if(hasClass(relatedDoc,"docblock")||hasClass(relatedDoc,"sub-variant")){if(mode==="toggle"){if(hasClass(relatedDoc,"hidden-by-usual-hider")){action="show"}else{action="hide"}}if(action==="hide"){addClass(relatedDoc,"hidden-by-usual-hider");onEachLazy(toggle.childNodes,adjustToggle(true));addClass(toggle.parentNode,"collapsed")}else if(action==="show"){removeClass(relatedDoc,"hidden-by-usual-hider");removeClass(toggle.parentNode,"collapsed");onEachLazy(toggle.childNodes,adjustToggle(false))}}}else{var parentElem=toggle.parentNode;relatedDoc=parentElem;var docblock=relatedDoc.nextElementSibling;while(hasClass(relatedDoc,"impl-items")===false){relatedDoc=relatedDoc.nextElementSibling}if(!relatedDoc&&hasClass(docblock,"docblock")===false){return}if(mode==="toggle"){if(hasClass(relatedDoc,"fns-now-collapsed")||hasClass(docblock,"hidden-by-impl-hider")){action="show"}else{action="hide"}}var dontApplyBlockRule=toggle.parentNode.parentNode.id!=="main";if(action==="show"){removeClass(relatedDoc,"fns-now-collapsed");if(hasClass(docblock,"item-info")===false){removeClass(docblock,"hidden-by-usual-hider")}onEachLazy(toggle.childNodes,adjustToggle(false,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(false,dontApplyBlockRule))}else if(action==="hide"){addClass(relatedDoc,"fns-now-collapsed");if(hasClass(docblock,"item-info")===false){addClass(docblock,"hidden-by-usual-hider")}onEachLazy(toggle.childNodes,adjustToggle(true,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(true,dontApplyBlockRule))}}}function collapser(e,collapse){var n=e.parentElement;if(n.id.match(/^impl(?:-\d+)?$/)===null){if(collapse||hasClass(n,"impl")){collapseDocs(e,"hide")}}}function autoCollapse(collapse){if(collapse){toggleAllDocs(true)}else if(getSettingValue("auto-hide-trait-implementations")!=="false"){var impl_list=document.getElementById("trait-implementations-list");if(impl_list!==null){onEachLazy(impl_list.getElementsByClassName("collapse-toggle"),function(e){collapser(e,collapse)})}var blanket_list=document.getElementById("blanket-implementations-list");if(blanket_list!==null){onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"),function(e){collapser(e,collapse)})}}}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function createSimpleToggle(sectionIsCollapsed){var toggle=document.createElement("a");toggle.href="javascript:void(0)";toggle.className="collapse-toggle";toggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(sectionIsCollapsed)+"</span>]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(false)+"</span>] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i<count;++i){elems.push(i+1)}var node=document.createElement("pre");addClass(node,"line-number");node.innerHTML=elems.join("\n");x.parentNode.insertBefore(node,x)}}onEachLazy(document.getElementsByClassName("rust-example-rendered"),function(e){if(hasClass(e,"compile_fail")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#f00"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}else if(hasClass(e,"ignore")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#ff9200"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}lineNumbersFunc(e)})}());onEachLazy(document.getElementsByClassName("notable-traits"),function(e){e.onclick=function(){this.getElementsByClassName('notable-traits-tooltiptext')[0].classList.toggle("force-tooltip")}});function printTab(nb){if(nb===0||nb===1||nb===2){currentTab=nb}var nb_copy=nb;onEachLazy(document.getElementById("titles").childNodes,function(elem){if(nb_copy===0){addClass(elem,"selected")}else{removeClass(elem,"selected")}nb_copy-=1});onEachLazy(document.getElementById("results").childNodes,function(elem){if(nb===0){elem.style.display=""}else{elem.style.display="none"}nb-=1})}function putBackSearch(search_input){var search=getSearchElement();if(search_input.value!==""&&hasClass(search,"hidden")){showSearchResults(search);if(browserSupportsHistoryApi()){var extra="?search="+encodeURIComponent(search_input.value);history.replaceState(search_input.value,"",getNakedUrl()+extra+window.location.hash)}document.title=searchTitle}}function getSearchLoadingText(){return"Loading search results..."}if(search_input){search_input.onfocus=function(){putBackSearch(this)}}var params=getQueryStringParams();if(params&¶ms.search){var search=getSearchElement();search.innerHTML="<h3 style=\"text-align: center;\">"+getSearchLoadingText()+"</h3>";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;i<len;++i){var option=document.createElement("option");option.value=crates[i];option.innerText=crates[i];elem.appendChild(option);if(crates[i]===savedCrate){elem.value=savedCrate}}};function buildHelperPopup(){var popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";var book_info=document.createElement("span");book_info.innerHTML="You can find more information in \
+if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value;window.searchJS=rustdocVars.attributes["data-search-js"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}var THEME_PICKER_ELEMENT_ID="theme-picker";var THEMES_ELEMENT_ID="theme-choices";function getThemesElement(){return document.getElementById(THEMES_ELEMENT_ID)}function getThemePickerElement(){return document.getElementById(THEME_PICKER_ELEMENT_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}function showThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){var themePicker=getThemePickerElement();var themeChoices=getThemesElement();themeChoices.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}(function(){var themeChoices=getThemesElement();var themePicker=getThemePickerElement();var availableThemes=["ayu","dark","light"];function switchThemeButtonState(){if(themeChoices.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}}function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!==THEME_PICKER_ELEMENT_ID&&(!active.parentNode||active.parentNode.id!==THEMES_ELEMENT_ID)&&(!related||(related.id!==THEME_PICKER_ELEMENT_ID&&(!related.parentNode||related.parentNode.id!==THEMES_ELEMENT_ID)))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;availableThemes.forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(){switchTheme(window.currentTheme,window.mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themeChoices.appendChild(but)})}());(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function removeEmptyStringsFromArray(x){for(var i=0,len=x.length;i<len;++i){if(x[i]===""){x.splice(i,1);i-=1}}}function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){var tmp=to;to=from;from=tmp}var elem=document.getElementById(from);if(!elem){return}if(!ev){var x=document.getElementById(from);if(x){x.scrollIntoView()}}onEachLazy(document.getElementsByClassName("line-numbers"),function(e){onEachLazy(e.getElementsByTagName("span"),function(i_e){removeClass(i_e,"line-highlighted")})});for(var i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}function onHashChange(ev){hideSidebar();var match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/);if(match){return highlightSourceLines(match,ev)}handleHashes(ev)}function expandSection(id){var elem=document.getElementById(id);if(elem&&isHidden(elem)){var h3=elem.parentNode.previousElementSibling;if(h3&&h3.tagName!=="H3"){h3=h3.previousElementSibling}if(h3){var collapses=h3.getElementsByClassName("collapse-toggle");if(collapses.length>0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(build){if(build!==false){buildHelperPopup()}return document.getElementById("help")}function displayHelp(display,ev,help){if(display===true){help=help?help:getHelpElement(true);if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else{help=help?help:getHelpElement(false);if(help&&hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}}function handleEscape(ev){var help=getHelpElement(false);var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:if(getThemePickerElement().parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!==THEME_PICKER_ELEMENT_ID){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id===THEME_PICKER_ELEMENT_ID&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){var helpElem=getHelpElement(false);if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(helpElem&&hasClass(helpElem,"hidden")===false){var is_inside_help_popup=ev.target!==helpElem&&helpElem.contains(ev.target);if(is_inside_help_popup===false){addClass(helpElem,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i<len;++i){match=url.match(/\/[^\/]*$/);if(i<len-1){stripped=match[0]+stripped}url=url.substring(0,url.length-match[0].length)}var selectedVersion=document.getElementsByClassName("version-selector")[0].value;url+="/"+selectedVersion+stripped;document.location.href=url}}}());var levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}var s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){var i1=0,i2=0,a,b,c,c2,row=levenshtein_row2;while(i1<s1_len){row[i1]=++i1}while(i2<s2_len){c2=s2.charCodeAt(i2);a=i2;++i2;b=i2;for(i1=0;i1<s1_len;++i1){c=a+(s1.charCodeAt(i1)!==c2?1:0);a=row[i1];b=b<a?(b<c?b+1:c):(a<c?a+1:c);row[i1]=b}}return b}return s1_len+s2_len}window.initSearch=function(rawSearchIndex){var MAX_LEV_DISTANCE=3;var MAX_RESULTS=200;var GENERICS_DATA=1;var NAME=0;var INPUTS_DATA=0;var OUTPUT_DATA=1;var NO_TYPE_FILTER=-1;var currentResults,index,searchIndex;var ALIASES={};var params=getQueryStringParams();if(search_input.value===""){search_input.value=params.search||""}function execQuery(query,searchWords,filterCrates){function itemTypeFromName(typename){for(var i=0,len=itemTypes.length;i<len;++i){if(itemTypes[i]===typename){return i}}return NO_TYPE_FILTER}var valLower=query.query.toLowerCase(),val=valLower,typeFilter=itemTypeFromName(query.type),results={},results_in_args={},results_returned={},split=valLower.split("::");removeEmptyStringsFromArray(split);function transformResults(results,isType){var out=[];for(var i=0,len=results.length;i<len;++i){if(results[i].id>-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;i<len;++i){result=results[i];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{}}if(results.length===0){return[]}results.sort(function(aaa,bbb){var a,b;a=(aaa.word!==val);b=(bbb.word!==val);if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==window.currentCrate);b=(bbb.item.crate!==window.currentCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});for(i=0,len=results.length;i<len;++i){var result=results[i];if(result.dontValidate){continue}var name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(isType!==true&&validateResult(name,path,split,parent)===false){result.id=-1}}return transformResults(results)}function extractGenerics(val){val=val.toLowerCase();if(val.indexOf("<")!==-1){var values=val.substring(val.indexOf("<")+1,val.lastIndexOf(">"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=object[GENERICS_DATA].length;for(var x=0;x<elength;++x){elems[getObjectNameFromId(obj[GENERICS_DATA][x])]+=1}var total=0;var done=0;var vlength=val.generics.length;for(x=0;x<vlength;++x){var lev=MAX_LEV_DISTANCE+1;var firstGeneric=getObjectNameFromId(val.generics[x]);var match=null;if(elems[firstGeneric]){match=firstGeneric;lev=0}else{for(elem_name in elems){tmp_lev=levenshtein(elem_name,firstGeneric);if(tmp_lev<lev){lev=tmp_lev;match=elem_name}}}if(match!==null){elems[match]-=1;if(elems[match]==0){delete elems[match]}total+=lev;done+=1}else{return MAX_LEV_DISTANCE+1}}return Math.ceil(total/done)}}return MAX_LEV_DISTANCE+1}function checkType(obj,val,literalSearch){var lev_distance=MAX_LEV_DISTANCE+1;var len,x,firstGeneric;if(obj[NAME]===val.name){if(literalSearch===true){if(val.generics&&val.generics.length!==0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;x<len;++x){elems[getObjectNameFromId(obj[GENERICS_DATA][x])]+=1}var allFound=true;len=val.generics.length;for(x=0;x<len;++x){firstGeneric=getObjectNameFromId(val.generics[x]);if(elems[firstGeneric]){elems[firstGeneric]-=1}else{allFound=false;break}}if(allFound===true){return true}}else{return false}}return true}if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x<olength;++x){lev_distance=Math.min(levenshtein(obj[GENERICS_DATA][x],val.name),lev_distance)}}return lev_distance+1}function findArg(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type[INPUTS_DATA]&&obj.type[INPUTS_DATA].length>0){var length=obj.type[INPUTS_DATA].length;for(var i=0;i<length;i++){var tmp=obj.type[INPUTS_DATA][i];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkReturned(obj,val,literalSearch,typeFilter){var lev_distance=MAX_LEV_DISTANCE+1;if(obj&&obj.type&&obj.type.length>OUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;x<len;++x){var tmp=ret[x];if(typePassesFilter(typeFilter,tmp[1])===false){continue}tmp=checkType(tmp,val,literalSearch);if(literalSearch===true){if(tmp===true){return true}continue}lev_distance=Math.min(tmp,lev_distance);if(lev_distance===0){return 0}}}return literalSearch===true?false:lev_distance}function checkPath(contains,lastElem,ty){if(contains.length===0){return 0}var ret_lev=MAX_LEV_DISTANCE+1;var path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}var length=path.length;var clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(var i=0;i<length;++i){if(i+clength>length){break}var lev_total=0;var aborted=false;for(var x=0;x<clength;++x){var lev=levenshtein(path[i+x],contains[x]);if(lev>MAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;i<len;++i){aliases.push(createAliasFromItem(searchIndex[query_aliases[i]]))}}}else{Object.keys(ALIASES).forEach(function(crate){if(ALIASES[crate][query.search]){var pushTo=crate===window.currentCrate?crateAliases:aliases;var query_aliases=ALIASES[crate][query.search];var len=query_aliases.length;for(var i=0;i<len;++i){pushTo.push(createAliasFromItem(searchIndex[query_aliases[i]]))}}})}var sortFunc=function(aaa,bbb){if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);var pushFunc=function(alias){alias.alias=query.raw;var res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}in_args=findArg(searchIndex[i],val,true,typeFilter);returned=checkReturned(searchIndex[i],val,true,typeFilter);ty=searchIndex[i];fullId=ty.id;if(searchWords[i]===val.name&&typePassesFilter(typeFilter,searchIndex[i].ty)&&results[fullId]===undefined){results[fullId]={id:i,index:-1,dontValidate:true,}}if(in_args===true&&results_in_args[fullId]===undefined){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true&&results_returned[fullId]===undefined){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}}query.inputs=[val];query.output=val;query.search=val}else if(val.search("->")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i<len;++i){inputs[i]=extractGenerics(inputs[i])}var output=extractGenerics(parts[1]);for(i=0;i<nSearchWords;++i){if(filterCrates!==undefined&&searchIndex[i].crate!==filterCrates){continue}var type=searchIndex[i].type;ty=searchIndex[i];if(!type){continue}fullId=ty.id;returned=checkReturned(ty,output,true,NO_TYPE_FILTER);if(output.name==="*"||returned===true){in_args=false;var is_module=false;if(input==="*"){is_module=true}else{var allFound=true;for(it=0,len=inputs.length;allFound===true&&it<len;it++){allFound=checkType(type,inputs[it],true)}in_args=allFound}if(in_args===true){results_in_args[fullId]={id:i,index:-1,dontValidate:true,}}if(returned===true){results_returned[fullId]={id:i,index:-1,dontValidate:true,}}if(is_module===true){results[fullId]={id:i,index:-1,dontValidate:true,}}}}query.inputs=inputs.map(function(input){return input.name});query.output=output.name}else{query.inputs=[val];query.output=val;query.search=val;val=val.replace(/\_/g,"");var valGenerics=extractGenerics(val);var paths=valLower.split("::");removeEmptyStringsFromArray(paths);val=paths[paths.length-1];var contains=paths.slice(0,paths.length>1?paths.length-1:1);var lev,j;for(j=0;j<nSearchWords;++j){ty=searchIndex[j];if(!ty||(filterCrates!==undefined&&ty.crate!==filterCrates)){continue}var lev_add=0;if(paths.length>1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i<len;++i){if(!(name.indexOf(keys[i])>-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="<table class=\"search-results\""+extraStyle+">";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+="<tr class=\""+type+" result\"><td>"+"<a href=\""+item.href+"\">"+(item.is_alias===true?("<span class=\"alias\"><b>"+item.alias+" </b></span><span "+"class=\"grey\"><i> - see </i></span>"):"")+item.displayPath+"<span class=\""+type+"\">"+name+"</span></a></td><td>"+"<a href=\""+item.href+"\">"+"<span class=\"desc\">"+item.desc+" </span></a></td></tr>"});output+="</table>"}else{output="<div class=\"search-failed\""+extraStyle+">No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.query)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul></div>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return"<button class=\"selected\">"+text+" <div class=\"count\">("+nbElems+")</div></button>"}return"<button>"+text+" <div class=\"count\">("+nbElems+")</div></button>"}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}var output="<h1>Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"</h1>"+"<div id=\"titles\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div><div id=\"results\">"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"</div>";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;it<len;++it){if(arrays[it].length>positions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;x<arrays_len;++x){positions.push(0)}while(ret.length<MAX_RESULTS){var smallest=getSmallest(arrays,positions,notDuplicates);if(smallest===null){break}for(x=0;x<arrays_len&&ret.length<MAX_RESULTS;++x){if(arrays[x].length>positions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i<len;++i){query=queries[i].trim();if(query.length!==0){var tmp=execQuery(getQuery(query),searchWords,filterCrates);results.in_args.push(tmp.in_args);results.returned.push(tmp.returned);results.others.push(tmp.others)}}if(queries.length>1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i<len;++i){paths[i]={ty:paths[i][0],name:paths[i][1]}}len=itemTypes.length;var lastPath="";for(i=0;i<len;++i){if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase();searchWords.push(word)}else{word="";searchWords.push("")}var normalizedName=word.indexOf("_")===-1?word:word.replace(/_/g,"");var row={crate:crate,ty:itemTypes[i],name:itemNames[i],path:itemPaths[i]?itemPaths[i]:lastPath,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j<len;++j){ALIASES[crate][alias_name].push(local_aliases[j]+currentIndex)}}}currentIndex+=crateSize}return searchWords}function registerSearchEvents(){var searchAfter500ms=function(){clearInputTimeout();if(search_input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}hideSearchResults()}else{searchTimeout=setTimeout(search,500)}};search_input.onkeyup=searchAfter500ms;search_input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=function(e){e.preventDefault();clearInputTimeout();search()};search_input.onchange=function(e){if(e.target!==document.activeElement){return}clearInputTimeout();setTimeout(search,0)};search_input.onpaste=search_input.onchange;var selectCrate=document.getElementById("crate-search");if(selectCrate){selectCrate.onchange=function(){updateLocalStorage("rustdoc-saved-filter-crate",selectCrate.value);search(undefined,true)}}if(browserSupportsHistoryApi()){var previousTitle=document.title;window.addEventListener("popstate",function(e){var params=getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="<h3>Crates</h3>";var ul=document.createElement("ul");div.appendChild(ul);for(var i=0;i<crates.length;++i){var klass="crate";if(window.rootPath!=="./"&&crates[i]===window.currentCrate){klass+=" current"}var link=document.createElement("a");link.href=window.rootPath+crates[i]+"/index.html";link.className=klass;link.textContent=crates[i];var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(div)}}}window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i<len;++i){var item=filtered[i];var name=item[0];var desc=item[1];var klass=shortty;if(name===current.name&&shortty===current.ty){klass+=" current"}var path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}var link=document.createElement("a");link.href=current.relpath+path;link.title=desc;link.className=klass;link.textContent=name;var li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}div.appendChild(ul);if(sidebar){sidebar.appendChild(div)}}block("primitive","Primitive Types");block("mod","Modules");block("macro","Macros");block("struct","Structs");block("enum","Enums");block("union","Unions");block("constant","Constants");block("static","Statics");block("trait","Traits");block("fn","Functions");block("type","Type Definitions");block("foreigntype","Foreign Types");block("keyword","Keywords");block("traitalias","Trait Aliases")};window.register_implementors=function(imp){var implementors=document.getElementById("implementors-list");var synthetic_implementors=document.getElementById("synthetic-implementors-list");if(synthetic_implementors){var inlined_types=new Set();onEachLazy(synthetic_implementors.getElementsByClassName("impl"),function(el){var aliases=el.getAttribute("aliases");if(!aliases){return}aliases.split(",").forEach(function(alias){inlined_types.add(alias)})})}var libs=Object.getOwnPropertyNames(imp);for(var i=0,llength=libs.length;i<llength;++i){if(libs[i]===window.currentCrate){continue}var structs=imp[libs[i]];struct_loop:for(var j=0,slength=structs.length;j<slength;++j){var struct=structs[j];var list=struct.synthetic?synthetic_implementors:implementors;if(struct.synthetic){for(var k=0,stlength=struct.types.length;k<stlength;k++){if(inlined_types.has(struct.types[k])){continue struct_loop}inlined_types.add(struct.types[k])}}var code=document.createElement("code");code.innerHTML=struct.text;onEachLazy(code.getElementsByTagName("a"),function(elem){var href=elem.getAttribute("href");if(href&&href.indexOf("http")!==0){elem.setAttribute("href",window.rootPath+href)}});var display=document.createElement("h3");addClass(display,"impl");display.innerHTML="<span class=\"in-band\"><table class=\"table-display\">"+"<tbody><tr><td><code>"+code.outerHTML+"</code></td><td></td></tr>"+"</tbody></table></span>";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i<length;++i){if(hasClass(nodes[i],className)){func(nodes[i])}else{onEveryMatchingChild(nodes[i],className,func)}}}}function toggleAllDocs(fromAutoCollapse){var innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){updateLocalStorage("rustdoc-collapse","false");removeClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){e.innerHTML=labelForToggleButton(false)});innerToggle.title="collapse all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){collapseDocs(e,"show")})}}else{updateLocalStorage("rustdoc-collapse","true");addClass(innerToggle,"will-expand");onEveryMatchingChild(innerToggle,"inner",function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){e.innerHTML=labelForToggleButton(true)}});innerToggle.title="expand all docs";if(fromAutoCollapse!==true){onEachLazy(document.getElementsByClassName("collapse-toggle"),function(e){var parent=e.parentNode;var superParent=null;if(parent){superParent=parent.parentNode}if(!parent||!superParent||superParent.id!=="main"||hasClass(parent,"impl")===false){collapseDocs(e,"hide")}})}}}function collapseDocs(toggle,mode){if(!toggle||!toggle.parentNode){return}function adjustToggle(arg){return function(e){if(hasClass(e,"toggle-label")){if(arg){e.style.display="inline-block"}else{e.style.display="none"}}if(hasClass(e,"inner")){e.innerHTML=labelForToggleButton(arg)}}}function implHider(addOrRemove,fullHide){return function(n){var shouldHide=fullHide===true||hasClass(n,"method")===true||hasClass(n,"associatedconstant")===true;if(shouldHide===true||hasClass(n,"type")===true){if(shouldHide===true){if(addOrRemove){addClass(n,"hidden-by-impl-hider")}else{removeClass(n,"hidden-by-impl-hider")}}var ns=n.nextElementSibling;while(ns&&(hasClass(ns,"docblock")||hasClass(ns,"item-info"))){if(addOrRemove){addClass(ns,"hidden-by-impl-hider")}else{removeClass(ns,"hidden-by-impl-hider")}ns=ns.nextElementSibling}}}}var relatedDoc;var action=mode;if(hasClass(toggle.parentNode,"impl")===false){relatedDoc=toggle.parentNode.nextElementSibling;if(hasClass(relatedDoc,"item-info")){relatedDoc=relatedDoc.nextElementSibling}if(hasClass(relatedDoc,"docblock")||hasClass(relatedDoc,"sub-variant")){if(mode==="toggle"){if(hasClass(relatedDoc,"hidden-by-usual-hider")){action="show"}else{action="hide"}}if(action==="hide"){addClass(relatedDoc,"hidden-by-usual-hider");onEachLazy(toggle.childNodes,adjustToggle(true));addClass(toggle.parentNode,"collapsed")}else if(action==="show"){removeClass(relatedDoc,"hidden-by-usual-hider");removeClass(toggle.parentNode,"collapsed");onEachLazy(toggle.childNodes,adjustToggle(false))}}}else{var parentElem=toggle.parentNode;relatedDoc=parentElem;var docblock=relatedDoc.nextElementSibling;while(hasClass(relatedDoc,"impl-items")===false){relatedDoc=relatedDoc.nextElementSibling}if(!relatedDoc&&hasClass(docblock,"docblock")===false){return}if(mode==="toggle"){if(hasClass(relatedDoc,"fns-now-collapsed")||hasClass(docblock,"hidden-by-impl-hider")){action="show"}else{action="hide"}}var dontApplyBlockRule=toggle.parentNode.parentNode.id!=="main";if(action==="show"){removeClass(relatedDoc,"fns-now-collapsed");if(hasClass(docblock,"item-info")===false){removeClass(docblock,"hidden-by-usual-hider")}onEachLazy(toggle.childNodes,adjustToggle(false,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(false,dontApplyBlockRule))}else if(action==="hide"){addClass(relatedDoc,"fns-now-collapsed");if(hasClass(docblock,"item-info")===false){addClass(docblock,"hidden-by-usual-hider")}onEachLazy(toggle.childNodes,adjustToggle(true,dontApplyBlockRule));onEachLazy(relatedDoc.childNodes,implHider(true,dontApplyBlockRule))}}}function collapser(e,collapse){var n=e.parentElement;if(n.id.match(/^impl(?:-\d+)?$/)===null){if(collapse||hasClass(n,"impl")){collapseDocs(e,"hide")}}}function autoCollapse(collapse){if(collapse){toggleAllDocs(true)}else if(getSettingValue("auto-hide-trait-implementations")!=="false"){var impl_list=document.getElementById("trait-implementations-list");if(impl_list!==null){onEachLazy(impl_list.getElementsByClassName("collapse-toggle"),function(e){collapser(e,collapse)})}var blanket_list=document.getElementById("blanket-implementations-list");if(blanket_list!==null){onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"),function(e){collapser(e,collapse)})}}}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function createSimpleToggle(sectionIsCollapsed){var toggle=document.createElement("a");toggle.href="javascript:void(0)";toggle.className="collapse-toggle";toggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(sectionIsCollapsed)+"</span>]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(false)+"</span>] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="[<span class=\"inner\">"+labelForToggleButton(true)+"</span>] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i<count;++i){elems.push(i+1)}var node=document.createElement("pre");addClass(node,"line-number");node.innerHTML=elems.join("\n");x.parentNode.insertBefore(node,x)}}onEachLazy(document.getElementsByClassName("rust-example-rendered"),function(e){if(hasClass(e,"compile_fail")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#f00"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}else if(hasClass(e,"ignore")){e.addEventListener("mouseover",function(){this.parentElement.previousElementSibling.childNodes[0].style.color="#ff9200"});e.addEventListener("mouseout",function(){this.parentElement.previousElementSibling.childNodes[0].style.color=""})}lineNumbersFunc(e)})}());onEachLazy(document.getElementsByClassName("notable-traits"),function(e){e.onclick=function(){this.getElementsByClassName('notable-traits-tooltiptext')[0].classList.toggle("force-tooltip")}});function printTab(nb){if(nb===0||nb===1||nb===2){currentTab=nb}var nb_copy=nb;onEachLazy(document.getElementById("titles").childNodes,function(elem){if(nb_copy===0){addClass(elem,"selected")}else{removeClass(elem,"selected")}nb_copy-=1});onEachLazy(document.getElementById("results").childNodes,function(elem){if(nb===0){elem.style.display=""}else{elem.style.display="none"}nb-=1})}function putBackSearch(search_input){var search=getSearchElement();if(search_input.value!==""&&hasClass(search,"hidden")){showSearchResults(search);if(browserSupportsHistoryApi()){var extra="?search="+encodeURIComponent(search_input.value);history.replaceState(search_input.value,"",getNakedUrl()+extra+window.location.hash)}document.title=searchTitle}}function getSearchLoadingText(){return"Loading search results..."}if(search_input){search_input.onfocus=function(){putBackSearch(this)}}var params=getQueryStringParams();if(params&¶ms.search){var search=getSearchElement();search.innerHTML="<h3 style=\"text-align: center;\">"+getSearchLoadingText()+"</h3>";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;i<len;++i){var option=document.createElement("option");option.value=crates[i];option.innerText=crates[i];elem.appendChild(option);if(crates[i]===savedCrate){elem.value=savedCrate}}};function buildHelperPopup(){var popup=document.createElement("aside");addClass(popup,"hidden");popup.id="help";var book_info=document.createElement("span");book_info.innerHTML="You can find more information in \
<a href=\"https://doc.rust-lang.org/rustdoc/\">the rustdoc book</a>.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"<dt>"+x[0].split(" ").map(function(y,index){return(index&1)===0?"<kbd>"+y+"</kbd>":" "+y+" "}).join("")+"</dt><dd>"+x[1]+"</dd>"}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";var infos=["Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
restrict the search to a given item kind.","Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
<code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
and <code>const</code>.","Search functions by type signature (e.g., <code>vec -> usize</code> or \
<code>* -> vec</code>)","Search multiple things at once by splitting your query with comma (e.g., \
<code>str,u8</code> or <code>String,struct:Vec,test</code>)","You can look for items with an exact name by putting double quotes around \
- your request: <code>\"string\"</code>","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(function(x){return"<p>"+x+"</p>"}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}function setupSearchLoader(){var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS)}}addSearchOptions(window.ALL_CRATES);addSidebarCrates(window.ALL_CRATES);search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=search_input.origPlaceholder});search_input.removeAttribute('disabled');var crateSearchDropDown=document.getElementById("crate-search");if(crateSearchDropDown){crateSearchDropDown.addEventListener("focus",loadSearch)}var params=getQueryStringParams();if(params.search!==undefined){loadSearch()}}onHashChange(null);window.onhashchange=onHashChange;setupSearchLoader()}())
\ No newline at end of file
+ your request: <code>\"string\"</code>","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(function(x){return"<p>"+x+"</p>"}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}function loadScript(url){var script=document.createElement('script');script.src=url;document.head.append(script)}function setupSearchLoader(){var searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(window.searchJS)}}addSearchOptions(window.ALL_CRATES);addSidebarCrates(window.ALL_CRATES);search_input.addEventListener("focus",function(){search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});search_input.addEventListener("blur",function(){search_input.placeholder=search_input.origPlaceholder});search_input.removeAttribute('disabled');var crateSearchDropDown=document.getElementById("crate-search");if(crateSearchDropDown){crateSearchDropDown.addEventListener("focus",loadSearch)}var params=getQueryStringParams();if(params.search!==undefined){loadSearch()}}onHashChange(null);window.onhashchange=onHashChange;setupSearchLoader()}());function copy_path(but){var parent=but.parentElement;var path=[];onEach(parent.childNodes,function(child){if(child.tagName==='A'){path.push(child.textContent)}});var el=document.createElement('textarea');el.value='use '+path.join('::')+';';el.setAttribute('readonly','');el.style.position='absolute';el.style.left='-9999px';document.body.appendChild(el);el.select();document.execCommand('copy');document.body.removeChild(el);but.textContent='✓'}
\ No newline at end of file
- #main>h2+div,#main>h2+h3,#main>h3+div{display:block;}.loading-content{display:none;}#main>h2+div,#main>h3+div{display:block;}#main>h2+h3{display:flex;}#main .impl-items .hidden{display:block !important;}#main .impl-items h4.hidden{display:flex !important;}#main .attributes{margin-left:0 !important;}
\ No newline at end of file
+ #main>h2+div,#main>h2+h3,#main>h3+div{display:block;}.loading-content{display:none;}#main>h2+div,#main>h3+div{display:block;}#main>h2+h3{display:flex;}#main .impl-items .hidden{display:block !important;}#main .impl-items h4.hidden{display:flex !important;}#main .attributes{margin-left:0 !important;}#copy-path{display:none;}
\ No newline at end of file
- @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;font-family:"Fira Sans",Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;padding-right:1ex;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}.help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;}#theme-picker,#settings-menu,.help-button{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;}
\ No newline at end of file
+ @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.ttf.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif 4",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h4.method.trait-impl,h3.type,h4.type.trait-impl,h4.associatedconstant.trait-impl{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;font-family:"Fira Sans",Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code{padding:0;padding-right:1ex;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock>:not(pre)>code,.docblock-short>:not(pre)>code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'⬑';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor,.method.trait-impl:hover>.anchor,.type.trait-impl:hover>.anchor,.associatedconstant.trait-impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}#theme-picker,#settings-menu,.help-button,#copy-path{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}.help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;padding-top:2px;}#copy-path{height:30px;font-size:18px;margin-left:10px;padding:0 6px;width:28px;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.docblock>.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;}
\ No newline at end of file
var searchIndex = JSON.parse('{\
-"bdk":{"doc":"A modern, lightweight, descriptor-based wallet library …","t":[0,0,4,13,13,13,4,13,13,13,0,3,3,12,12,12,12,0,3,11,3,12,12,4,13,13,13,13,13,13,13,0,3,3,3,11,3,12,12,12,3,12,12,12,12,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,13,8,10,10,11,10,10,10,10,8,16,10,6,8,10,5,3,5,3,5,0,0,4,13,13,4,13,13,3,12,12,4,13,13,0,3,11,8,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,8,16,10,10,8,16,10,0,0,5,0,4,13,13,13,13,13,13,13,13,13,13,13,13,0,3,4,13,13,13,12,13,12,13,12,13,12,13,12,13,12,13,12,12,13,12,12,11,11,6,6,4,13,12,12,12,12,12,13,12,12,12,12,12,13,12,13,11,3,12,12,12,12,3,12,12,11,4,13,13,13,13,13,13,11,11,11,0,6,8,10,3,12,3,12,3,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,6,4,13,13,13,13,13,4,3,12,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,4,3,6,6,6,8,10,8,10,0,0,4,13,13,13,13,13,13,13,13,3,4,13,13,13,13,13,3,6,4,13,13,4,13,13,3,12,12,3,12,12,6,3,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,6,5,5,5,5,4,11,11,11,4,13,13,11,11,8,10,11,11,8,10,4,13,13,11,11,11,8,10,11,3,11,8,16,16,16,10,11,8,11,11,3,12,4,13,13,13,13,13,13,0,0,4,13,13,13,13,13,8,10,0,6,3,12,12,11,11,8,10,3,3,11,0,3,12,12,11,11,11,0,4,13,13,13,4,13,13,13,13,13,13,13,13,13,8,10,10,10,11,3,12,3,11,11,11,11,11,11,11,0,5,0,8,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,11,4,13,13,13,8,10,3,11,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,3,3,12,12,12,3,12,12,4,13,13,12,12,3,12,12,12,12,12,12,12,5,14,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["blockchain","any","AnyBlockchain","Electrum","Esplora","CompactFilters","AnyBlockchainConfig","Electrum","Esplora","CompactFilters","electrum","ElectrumBlockchain","ElectrumBlockchainConfig","url","socks5","retry","timeout","esplora","EsploraBlockchain","new","EsploraBlockchainConfig","base_url","concurrency","EsploraError","Reqwest","Parsing","BitcoinEncoding","Hex","TransactionNotFound","HeaderHeightNotFound","HeaderHashNotFound","compact_filters","Mempool","Peer","CompactFiltersBlockchain","new","BitcoinPeerConfig","address","socks5","socks5_credentials","CompactFiltersBlockchainConfig","peers","network","storage_dir","skip_blocks","CompactFiltersError","InvalidResponse","InvalidHeaders","InvalidFilterHeader","InvalidFilter","MissingBlock","DataCorruption","NotConnected","Timeout","PeerBloomDisabled","NoPeers","Db","Io","Bip158","Time","Global","Capability","FullHistory","GetAnyTx","AccurateFees","Blockchain","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","ConfigurableBlockchain","Config","from_config","ProgressData","Progress","update","progress","NoopProgress","noop_progress","LogProgress","log_progress","database","any","AnyDatabase","Memory","Sled","AnyBatch","Memory","Sled","SledDbConfiguration","path","tree_name","AnyDatabaseConfig","Memory","Sled","memory","MemoryDatabase","new","BatchOperations","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","Database","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","BatchDatabase","Batch","begin_batch","commit_batch","ConfigurableDatabase","Config","from_config","descriptor","checksum","get_checksum","error","Error","InvalidHdKeyPath","InvalidDescriptorChecksum","HardenedDerivationXpub","DuplicatedKeys","Key","Policy","InvalidDescriptorCharacter","Bip32","Base58","Pk","Miniscript","Hex","policy","PkOrF","SatisfiableItem","Signature","SignatureKey","Sha256Preimage","hash","Hash256Preimage","hash","Ripemd160Preimage","hash","Hash160Preimage","hash","AbsoluteTimelock","value","RelativeTimelock","value","Multisig","keys","threshold","Thresh","items","threshold","is_leaf","id","ConditionMap","FoldedConditionMap","Satisfaction","Partial","n","m","items","sorted","conditions","PartialComplete","n","m","items","sorted","conditions","Complete","condition","None","is_leaf","Policy","id","item","satisfaction","contribution","Condition","csv","timelock","is_null","PolicyError","NotEnoughItemsSelected","IndexOutOfRange","AddOnLeaf","AddOnPartialComplete","MixedTimelockUnits","IncompatibleConditions","requires_path","get_condition","fill_satisfactions","template","DescriptorTemplateOut","DescriptorTemplate","build","P2Pkh","0","P2Wpkh_P2Sh","0","P2Wpkh","0","Bip44","0","1","Bip44Public","0","1","2","Bip49","0","1","Bip49Public","0","1","2","Bip84","0","1","Bip84Public","0","1","2","KeyMap","Descriptor","Bare","Pkh","Wpkh","Sh","Wsh","Legacy","Miniscript","node","ty","ext","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","Segwitv0","DerivedDescriptorKey","ExtendedDescriptor","DerivedDescriptor","HdKeyPaths","IntoWalletDescriptor","into_wallet_descriptor","ExtractPolicy","extract_policy","keys","bip39","Language","English","ChineseSimplified","ChineseTraditional","French","Italian","Japanese","Korean","Spanish","Mnemonic","MnemonicType","Words12","Words15","Words18","Words21","Words24","Seed","MnemonicWithPassphrase","DescriptorPublicKey","SinglePub","XPub","DescriptorSecretKey","SinglePriv","XPrv","DescriptorSinglePriv","origin","key","DescriptorSinglePub","origin","key","KeyMap","SortedMultiVec","k","pks","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","ValidNetworks","any_network","mainnet_network","test_networks","merge_networks","DescriptorKey","from_public","from_secret","override_valid_networks","ScriptContextEnum","Legacy","Segwitv0","is_legacy","is_segwit_v0","ExtScriptContext","as_enum","is_legacy","is_segwit_v0","IntoDescriptorKey","into_descriptor_key","ExtendedKey","Private","Public","has_secret","into_xprv","into_xpub","DerivableKey","into_extended_key","into_descriptor_key","GeneratedKey","into_key","GeneratableKey","Entropy","Options","Error","generate_with_entropy","generate","GeneratableDefaultOptions","generate_with_entropy_default","generate_default","PrivateKeyGenerateOptions","compressed","KeyError","InvalidScriptContext","InvalidNetwork","InvalidChecksum","Message","Bip32","Miniscript","wallet","address_validator","AddressValidatorError","UserRejected","ConnectionError","TimeoutError","InvalidScript","Message","AddressValidator","validate","coin_selection","DefaultCoinSelectionAlgorithm","CoinSelectionResult","selected","fee_amount","selected_amount","local_selected_amount","CoinSelectionAlgorithm","coin_select","LargestFirstCoinSelection","BranchAndBoundCoinSelection","new","export","WalletExport","blockheight","label","export_wallet","descriptor","change_descriptor","signer","SignerId","PkHash","Fingerprint","Dummy","SignerError","MissingKey","InvalidKey","UserCanceled","InputIndexOutOfRange","MissingNonWitnessUtxo","InvalidNonWitnessUtxo","MissingWitnessUtxo","MissingWitnessScript","MissingHdKeypath","Signer","sign","sign_whole_tx","id","descriptor_secret_key","SignerOrdering","0","SignersContainer","as_key_map","new","add_external","remove","ids","signers","find","time","get_timestamp","tx_builder","TxBuilderContext","CreateTx","BumpFee","TxBuilder","fee_rate","fee_absolute","policy_path","add_utxos","add_utxo","add_foreign_utxo","manually_selected_only","unspendable","add_unspendable","sighash","ordering","nlocktime","version","do_not_spend_change","only_spend_change","change_policy","force_non_witness_utxo","include_output_redeem_witness_script","add_global_xpubs","drain_wallet","coin_selection","finish","enable_rbf","enable_rbf_with_sequence","set_recipients","add_recipient","set_single_recipient","maintain_single_recipient","TxOrdering","Shuffle","Untouched","Bip69Lexicographic","sort_tx","ChangeSpendPolicy","ChangeAllowed","OnlyChange","ChangeForbidden","IsDust","is_dust","Wallet","new_offline","AddressIndex","New","LastUnused","Peek","Reset","get_address","is_mine","list_unspent","get_utxo","list_transactions","get_balance","add_signer","add_address_validator","build_tx","build_fee_bump","sign","policies","public_descriptor","finalize_psbt","secp_ctx","get_descriptor_for_keychain","get_psbt_input","new","sync","client","network","broadcast","Error","InvalidU32Bytes","Generic","ScriptDoesntHaveAddressForm","SingleRecipientMultipleOutputs","SingleRecipientNoInputs","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","InsufficientFunds","needed","available","BnBTotalTriesExceeded","BnBNoExactMatch","UnknownUtxo","TransactionNotFound","TransactionConfirmed","IrreplaceableTransaction","FeeRateTooLow","required","FeeTooLow","required","MissingKeyOrigin","Key","ChecksumMismatch","SpendingPolicyRequired","InvalidPolicyPathError","Signer","InvalidProgressValue","ProgressUpdateError","InvalidOutpoint","Descriptor","AddressValidator","Encode","Miniscript","Bip32","Secp256k1","Json","Hex","Psbt","Electrum","Esplora","CompactFilters","Sled","KeychainKind","External","Internal","FeeRate","LocalUtxo","outpoint","txout","keychain","WeightedUtxo","satisfaction_weight","utxo","Utxo","Local","Foreign","outpoint","psbt_input","TransactionDetails","transaction","txid","timestamp","received","sent","fees","height","version","descriptor","fragment","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","to_hex","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","to_hex","write_base32","base32_len","check_base32","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","write_base32","base32_len","check_base32","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","for_each_key","for_each_key","for_each_key","translate_pk","translate_pk","from_tree","from_tree","eq","ne","eq","eq","ne","eq","eq","ne","eq","ne","eq","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_global_policy_validity","check_local_policy_validity","max_satisfaction_size","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_local_policy_validity","max_satisfaction_size","from_str","from_str","from_str","from_str","clone","clone","clone","clone","clone","clone","clone","hash","hash","hash","hash","hash","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","lift","lift","lift","sanity_check","address","script_pubkey","unsigned_script_sig","explicit_script","get_satisfaction","max_satisfaction_weight","script_code","cmp","cmp","cmp","cmp","cmp","cmp","cmp","is_uncompressed","to_pubkeyhash","fmt","fmt","fmt","fmt","fmt","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","drop","drop","clone","clone","clone","clone","zeroize","zeroize","zeroize","fmt","fmt","fmt","fmt","fmt","fmt","as_ref","as_ref","fmt","fmt","default","default","eq","fmt","fmt","from_config","from_config","from_config","from_config","update","update","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","begin_batch","commit_batch","begin_batch","commit_batch","from_config","from_config","build","build","build","build","build","build","build","build","build","into_wallet_descriptor","into_wallet_descriptor","extract_policy","extract_policy","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_extended_key","into_descriptor_key","generate_with_entropy","coin_select","coin_select","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","as_ref","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","cmp","cmp","cmp","cmp","cmp","cmp","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","eq","eq","ne","eq","ne","eq","eq","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","eq","ne","eq","eq","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","to_string","deref","deref","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","hash","hash","hash","hash","hash","hash","hash","from_str","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","to_pubkeyhash","is_uncompressed","serialized_len","to_public_key","hash_to_hash160","new","add_tx","get_tx","has_tx","iter_txs","connect","connect_proxy","get_version","get_network","get_mempool","is_connected","send","recv","new_pk","new_pkh","new_wpkh","new_sh_wpkh","new_sh","new_wsh","new_sh_wsh","new_bare","new_sh_sortedmulti","new_sh_wsh_sortedmulti","new_wsh_sortedmulti","desc_type","is_deriveable","derive","parse_descriptor","to_string_with_secret","master_fingerprint","full_derivation_path","is_deriveable","derive","derive_public_key","requires_sig","is_non_malleable","within_resource_limits","has_mixed_timelocks","has_repeated_keys","sanity_check","iter","iter_pk","iter_pkh","iter_pk_pkh","branches","get_nth_child","get_leaf_pk","get_leaf_pkh","get_leaf_pk_pkh","get_nth_pk","get_nth_pkh","get_nth_pk_pkh","from_ast","into_inner","as_inner","parse_insane","parse","encode","script_size","max_satisfaction_witness_elements","max_satisfaction_size","from_str_insane","satisfy","satisfy_malleable","lift_check","check_witness","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","new","from_language_code","wordlist","wordmap","new","from_entropy","from_phrase","validate","phrase","into_phrase","entropy","language","for_word_count","for_key_size","for_phrase","total_bits","entropy_bits","checksum_bits","word_count","new","as_bytes","as_public","new","from_tree","translate_pk","sanity_check","sorted_node","encode","satisfy","script_size","max_satisfaction_witness_elements","max_satisfaction_size","as_byte","from_btc_per_kvb","from_sat_per_vb","default_min_relay_fee","as_sat_vb","outpoint","txout"],"q":["bdk","bdk::blockchain","bdk::blockchain::any","","","","","","","","bdk::blockchain","bdk::blockchain::electrum","","","","","","bdk::blockchain","bdk::blockchain::esplora","","","","","","","","","","","","","bdk::blockchain","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::database","bdk::database::any","","","","","","","","","","","","bdk::database","bdk::database::memory","","bdk::database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::descriptor","bdk::descriptor::checksum","bdk::descriptor","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","","","","","","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::keys","bdk::keys::bip39","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::wallet","bdk::wallet::address_validator","","","","","","","","bdk::wallet","bdk::wallet::coin_selection","","","","","","","","","","","bdk::wallet","bdk::wallet::export","","","","","","bdk::wallet","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","bdk::wallet::time","bdk::wallet","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","bdk::Error","","bdk","","","","","","","bdk::Error","bdk","bdk::Error","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::Utxo","","bdk","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::electrum","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::esplora","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::address_validator","","","","","","","","","","","","","","","","bdk::wallet::coin_selection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::export","","","","","","","","","","","","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","bdk::keys","bdk::descriptor","","","","","","","","bdk::keys","","bdk::descriptor","bdk::keys","","","","bdk::descriptor","","","","","","","","","","","","","","","bdk::keys","","bdk::descriptor","bdk::keys","","bdk::descriptor","","bdk::keys","bdk::descriptor","","","","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","bdk::keys","","","bdk::descriptor","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","","","bdk::keys","bdk::descriptor","","","","","","","","bdk::keys","","bdk::descriptor","","","","bdk::keys","","","","bdk::descriptor","bdk::keys","","bdk::descriptor","","","bdk::keys","bdk::descriptor","","bdk::keys","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::blockchain","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::database::any","","bdk::database::memory","","bdk::database::any","bdk::database::memory","bdk::descriptor::template","","","","","","","","","bdk","","bdk::descriptor","","bdk::keys","","","","bdk::keys::bip39","","bdk","","bdk::keys::bip39","","bdk::keys","","","bdk::keys::bip39","bdk::wallet::coin_selection","","bdk::blockchain::any","","","","","","","bdk::blockchain::electrum","","","","","","bdk::blockchain::esplora","","","","","","bdk::blockchain::compact_filters","","","","","","bdk","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","bdk::blockchain::electrum","bdk::blockchain::esplora","","","","bdk::blockchain::compact_filters","","","","","bdk::database::any","","","","","","bdk::descriptor::error","","","","","","","bdk::descriptor::policy","","bdk::keys","","","","bdk::wallet::signer","","","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::blockchain","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::keys","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::blockchain::compact_filters","bdk::database::memory","bdk::descriptor::policy","","bdk::keys","bdk","","bdk::wallet::coin_selection","","bdk::wallet::signer","","bdk::wallet::tx_builder","","","","bdk::descriptor","bdk::descriptor::policy","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::blockchain::any","","bdk::blockchain::electrum","","bdk::blockchain::esplora","","bdk::blockchain::compact_filters","","","","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","","","","bdk::keys","bdk","","","","","","","","","","","bdk::wallet::address_validator","","bdk::wallet::signer","","","","","bdk::wallet::tx_builder","","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::descriptor","bdk::keys","bdk","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","","","bdk::blockchain::compact_filters","","","","","","bdk::blockchain","bdk::database::any","","","bdk::database::memory","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","","","","","","bdk::keys","","","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","","","bdk::wallet::export","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::wallet","","bdk","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","bdk::keys","bdk::wallet::address_validator","bdk::wallet::signer","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk::descriptor::policy","","","","","bdk","","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk","","","bdk::wallet::export","bdk::descriptor","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","bdk::descriptor","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","bdk","","","","","",""],"d":["Blockchain backends","Runtime-checked blockchain types","Type that can contain any of the [<code>Blockchain</code>] types …","Electrum client","Esplora client","Compact filters client","Type that can contain any of the blockchain …","Electrum client","Esplora client","Compact filters client","Electrum","Wrapper over an Electrum Client that implements the …","Configuration for an [<code>ElectrumBlockchain</code>]","URL of the Electrum server (such as ElectrumX, Esplora, …","URL of the socks5 proxy server or a Tor service","Request retry count","Request timeout (seconds)","Esplora","Structure that implements the logic to sync with Esplora","Create a new instance of the client from a base URL","Configuration for an [<code>EsploraBlockchain</code>]","Base URL of the esplora service","Number of parallel requests sent to the esplora service …","Errors that can happen during a sync with […","Error with the HTTP call","Invalid number returned","Invalid Bitcoin data returned","Invalid Hex data returned","Transaction not found","Header height not found","Header hash not found","Compact Filters","Container for unconfirmed, but valid Bitcoin transactions","A Bitcoin peer","Structure implementing the required blockchain traits","Construct a new instance given a list of peers, a path to …","Data to connect to a Bitcoin P2P peer","Peer address such as 127.0.0.1:18333","Optional socks5 proxy","Optional socks5 proxy credentials","Configuration for a [<code>CompactFiltersBlockchain</code>]","List of peers to try to connect to for asking headers and …","Network used","Storage dir to save partially downloaded headers and full …","Optionally skip initial <code>skip_blocks</code> blocks (default: 0)","An error that can occur during sync with a […","A peer sent an invalid or unexpected response","The headers returned are invalid","The compact filter headers returned are invalid","The compact filter returned is invalid","The peer is missing a block in the valid chain","The data stored in the block filters storage are corrupted","A peer is not connected","A peer took too long to reply to one of our messages","The peer doesn’t advertise the <code>BLOOM</code> service flag","No peers have been specified","Internal database error","Internal I/O error","Invalid BIP158 filter","Internal system time error","Wrapper for [<code>crate::error::Error</code>]","Capabilities that can be supported by a [<code>Blockchain</code>] …","Can recover the full history of a wallet and not only the …","Can fetch any historical transaction given its txid","Can compute accurate fees for the transactions found …","Trait that defines the actions that must be supported by …","Return the set of [<code>Capability</code>] supported by this backend","Setup the backend and populate the internal database for …","Populate the internal database with transactions and UTXOs","Fetch a transaction from the blockchain given its txid","Broadcast a transaction","Return the current height","Estimate the fee rate required to confirm a transaction …","Trait for [<code>Blockchain</code>] types that can be created given a …","Type that contains the configuration","Create a new instance given a configuration","Data sent with a progress update over a [<code>channel</code>]","Trait for types that can receive and process progress …","Send a new progress update","Shortcut to create a [<code>channel</code>] (pair of [<code>Sender</code>] and […","Type that implements [<code>Progress</code>] and drops every update …","Create a new instance of [<code>NoopProgress</code>]","Type that implements [<code>Progress</code>] and logs at level <code>INFO</code> …","Create a nwe instance of [<code>LogProgress</code>]","Database types","Runtime-checked database types","Type that can contain any of the [<code>Database</code>] types defined …","In-memory ephemeral database","Simple key-value embedded database based on [<code>sled</code>]","Type that contains any of the [<code>BatchDatabase::Batch</code>] …","In-memory ephemeral database","Simple key-value embedded database based on [<code>sled</code>]","Configuration type for a [<code>sled::Tree</code>] database","Main directory of the db","Name of the database tree, a separated namespace for the …","Type that can contain any of the database configurations …","Memory database has no config","Simple key-value embedded database based on [<code>sled</code>]","In-memory ephemeral database","In-memory ephemeral database","Create a new empty database","Trait for operations that can be batched","Store a script_pubkey along with its keychain and child …","Store a [<code>LocalUtxo</code>]","Store a raw transaction","Store the metadata of a transaction","Store the last derivation index for a given keychain.","Delete a script_pubkey given the keychain and its child …","Delete the data related to a specific script_pubkey, …","Delete a [<code>LocalUtxo</code>] given its [<code>OutPoint</code>]","Delete a raw transaction given its [<code>Txid</code>]","Delete the metadata of a transaction and optionally the …","Delete the last derivation index for a keychain.","Trait for reading data from a database","Read and checks the descriptor checksum for a given …","Return the list of script_pubkeys","Return the list of [<code>LocalUtxo</code>]s","Return the list of raw transactions","Return the list of transactions metadata","Fetch a script_pubkey given the child number of a …","Fetch the keychain and child number of a given …","Fetch a [<code>LocalUtxo</code>] given its [<code>OutPoint</code>]","Fetch a raw transaction given its [<code>Txid</code>]","Fetch the transaction metadata and optionally also the …","Return the last defivation index for a keychain.","Increment the last derivation index for a keychain and …","Trait for a database that supports batch operations","Container for the operations","Create a new batch container","Consume and apply a batch of operations","Trait for [<code>Database</code>] types that can be created given a …","Type that contains the configuration","Create a new instance given a configuration","Descriptors","Descriptor checksum","Compute the checksum of a descriptor","Descriptor errors","Errors related to the parsing and usage of descriptors","Invalid HD Key path, such as having a wildcard but a …","The provided descriptor doesn’t match its checksum","The descriptor contains hardened derivation steps on …","The descriptor contains multiple keys with the same BIP32 …","Error thrown while working with <code>keys</code>","Error while extracting and manipulating policies","Invalid character found in the descriptor checksum","BIP32 error","Error during base58 decoding","Key-related error","Miniscript error","Hex decoding error","Descriptor policy","Raw public key or extended key fingerprint","An item that needs to be satisfied","Signature for a raw public key","Signature for an extended key fingerprint","SHA256 preimage hash","The digest value","Double SHA256 preimage hash","The digest value","RIPEMD160 preimage hash","The digest value","SHA256 then RIPEMD160 preimage hash","The digest value","Absolute timeclock timestamp","The timestamp value","Relative timelock locktime","The locktime value","Multi-signature public keys with threshold count","The raw public key or extended key fingerprint","The required threshold count","Threshold items with threshold count","The policy items","The required threshold count","Returns whether the [<code>SatisfiableItem</code>] is a leaf item","Returns a unique id for the [<code>SatisfiableItem</code>]","Type for a map of sets of [<code>Condition</code>] items keyed by each …","Type for a map of folded sets of [<code>Condition</code>] items keyed …","Represent if and how much a policy item is satisfied by …","Only a partial satisfaction of some kind of threshold …","Total number of items","Threshold","The items that can be satisfied by the descriptor or are …","Whether the items are sorted in lexicographic order (used …","Extra conditions that also need to be satisfied","Can reach the threshold of some kind of threshold policy","Total number of items","Threshold","The items that can be satisfied by the descriptor","Whether the items are sorted in lexicographic order (used …","Extra conditions that also need to be satisfied","Can satisfy the policy item","Extra conditions that also need to be satisfied","Cannot satisfy or contribute to the policy item","Returns whether the [<code>Satisfaction</code>] is a leaf item","Descriptor spending policy","Identifier for this policy node","Type of this policy node","How much a given PSBT already satisfies this policy node …","How the wallet’s descriptor can satisfy this policy node","An extra condition that must be satisfied but that is out …","Optional CheckSequenceVerify condition","Optional timelock condition","Returns <code>true</code> if there are no extra conditions to verify","Errors that can happen while extracting and manipulating …","Not enough items are selected to satisfy a […","Index out of range for an item to satisfy a […","Can not add to an item that is [<code>Satisfaction::None</code>] or […","Can not add to an item that is […","Can not merge CSV or timelock values unless both are less …","Incompatible conditions (not currently used)","Return whether or not a specific path in the policy tree …","Return the conditions that are set by the spending policy …","fill <code>self.satisfaction</code> with the signatures we already …","Descriptor templates","Type alias for the return type of [<code>DescriptorTemplate</code>], …","Trait for descriptor templates that can be built into a …","Build the complete descriptor","P2PKH template. Expands to a descriptor <code>pkh(key)</code>","","P2WPKH-P2SH template. Expands to a descriptor …","","P2WPKH template. Expands to a descriptor <code>wpkh(key)</code>","","BIP44 template. Expands to <code>pkh(key/44\'/0\'/0\'/{0,1}/*)</code>","","","BIP44 public template. Expands to <code>pkh(key/{0,1}/*)</code>","","","","BIP49 template. Expands to <code>sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))</code>","","","BIP49 public template. Expands to <code>sh(wpkh(key/{0,1}/*))</code>","","","","BIP84 template. Expands to <code>wpkh(key/84\'/0\'/0\'/{0,1}/*)</code>","","","BIP84 public template. Expands to <code>wpkh(key/{0,1}/*)</code>","","","","Alias type for a map of public key to secret key","Script descriptor","A raw scriptpubkey (including pay-to-pubkey) under Legacy …","Pay-to-PubKey-Hash","Pay-to-Witness-PubKey-Hash","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)","Pay-to-Witness-ScriptHash with Segwitv0 context","Legacy ScriptContext To be used as P2SH scripts For …","Top-level script AST type","A node in the Abstract Syntax Tree(","The correctness and malleability type information for the …","Additional information helpful for extra analysis.","The ScriptContext for Miniscript. Additional type …","Depending on ScriptContext, fragments can be malleable. …","Check whether the given satisfaction is valid under the …","Depending on script context, the size of a satifaction …","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the script resource …","Consensus rules at the Miniscript satisfaction time. It …","Policy rules at the Miniscript satisfaction time. It is …","Check the consensus + policy(if not disabled) rules that …","Check the consensus + policy(if not disabled) rules …","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Segwitv0 ScriptContext","Extended [<code>DescriptorPublicKey</code>] that has been derived","Alias for a [<code>Descriptor</code>] that can contain extended keys …","Alias for a [<code>Descriptor</code>] that contains extended <strong>derived</strong> …","Alias for the type of maps that represent derivation …","Trait for types which can be converted into an […","Convert to wallet descriptor","Trait implemented on [<code>Descriptor</code>]s to add a method to …","Extract the spending [<code>policy</code>]","Key formats","BIP-0039","The language determines which words will be used in a …","","","","","","","","","The primary type in this crate, most tasks require …","Determines the number of words that will be present in a …","","","","","","The secret value used to derive HD wallet addresses from …","Type for a BIP39 mnemonic with an optional passphrase","The MiniscriptKey corresponding to Descriptors. This can …","Single Public Key","Xpub","A Secret Key that can be either a single key or an Xprv","Single Secret Key","Xprv","A Single Descriptor Secret Key with optional origin …","Origin information","The key","A Single Descriptor Key with optional origin information","Origin information","The key","Alias type for a map of public key to secret key","Contents of a “sortedmulti” descriptor","signatures required","public keys inside sorted Multi","The ScriptContext for Miniscript. Additional type …","Depending on ScriptContext, fragments can be malleable. …","Check whether the given satisfaction is valid under the …","Depending on script context, the size of a satifaction …","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the script resource …","Consensus rules at the Miniscript satisfaction time. It …","Policy rules at the Miniscript satisfaction time. It is …","Check the consensus + policy(if not disabled) rules that …","Check the consensus + policy(if not disabled) rules …","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Set of valid networks for a key","Create a set containing mainnet, testnet and regtest","Create a set only containing mainnet","Create a set containing testnet and regtest","Compute the intersection of two sets","Container for public or secret keys","Create an instance given a public key and a set of valid …","Create an instance given a secret key and a set of valid …","Override the computed set of valid networks","Enum representation of the known valid [<code>ScriptContext</code>]s","Legacy scripts","Segwitv0 scripts","Returns whether the script context is […","Returns whether the script context is […","Trait that adds extra useful methods to [<code>ScriptContext</code>]s","Returns the [<code>ScriptContext</code>] as a [<code>ScriptContextEnum</code>]","Returns whether the script context is <code>Legacy</code>","Returns whether the script context is <code>Segwitv0</code>","Trait for objects that can be turned into a public or …","Turn the key into a [<code>DescriptorKey</code>] within the requested […","Enum for extended keys that can be either <code>xprv</code> or <code>xpub</code>","A private extended key, aka an <code>xprv</code>","A public extended key, aka an <code>xpub</code>","Return whether or not the key contains the private data","Transform the [<code>ExtendedKey</code>] into an <code>ExtendedPrivKey</code> for …","Transform the [<code>ExtendedKey</code>] into an <code>ExtendedPubKey</code> for the…","Trait for keys that can be derived.","Consume <code>self</code> and turn it into an [<code>ExtendedKey</code>]","Consume <code>self</code> and turn it into a [<code>DescriptorKey</code>] by adding …","Output of a [<code>GeneratableKey</code>] key generation","Consumes <code>self</code> and returns the key","Trait for keys that can be generated","Type specifying the amount of entropy required e.g. …","Extra options required by the <code>generate_with_entropy</code>","Returned error in case of failure","Generate a key given the extra options and the entropy","Generate a key given the options with a random entropy","Trait that allows generating a key with the default …","Generate a key with the default options and a given …","Generate a key with the default options and a random …","Options for generating a [<code>PrivateKey</code>]","Whether the generated key should be “compressed” or …","Errors thrown while working with <code>keys</code>","The key cannot exist in the given script context","The key is not valid for the given network","The key has an invalid checksum","Custom error message","BIP32 error","Miniscript error","Wallet","Address validation callbacks","Errors that can be returned to fail the validation of an …","User rejected the address","Network connection error","Network request timeout error","Invalid script","A custom error message","Trait to build address validators","Validate or inspect an address","Coin selection","Default coin selection algorithm used by <code>TxBuilder</code> if not …","Result of a successful coin selection","List of outputs selected for use as inputs","Total fee amount in satoshi","The total value of the inputs selected.","The total value of the inputs selected from the local …","Trait for generalized coin selection algorithms","Perform the coin selection","Simple and dumb coin selection","Branch and bound coin selection","Create new instance with target size for change output","Wallet export","Structure that contains the export of a wallet","Earliest block to rescan when looking for the wallet’s …","Arbitrary label for the wallet","Export a wallet","Return the external descriptor","Return the internal descriptor, if present","Generalized signers","Identifier of a signer in the <code>SignersContainers</code>. Used as …","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …","The fingerprint of a BIP32 extended key","Dummy identifier","Signing error","The private key is missing for the required public key","The private key in use has the right fingerprint but …","The user canceled the operation","Input index is out of range","The <code>non_witness_utxo</code> field of the transaction is required …","The <code>non_witness_utxo</code> specified is invalid","The <code>witness_utxo</code> field of the transaction is required to …","The <code>witness_script</code> field of the transaction is requied to …","The fingerprint and derivation path are missing from the …","Trait for signers","Sign a PSBT","Return whether or not the signer signs the whole …","Return the [<code>SignerId</code>] for this signer","Return the secret key for the signer","Defines the order in which signers are called","","Container for multiple signers","Create a map of public keys to secret keys","Default constructor","Adds an external signer to the container for the …","Removes a signer from the container and returns it","Returns the list of identifiers of all the signers in the …","Returns the list of signers in the container, sorted by …","Finds the signer with lowest ordering for a given id in …","Cross-platform time","Return the current timestamp in seconds","Transaction builder","Context in which the [<code>TxBuilder</code>] is valid","Marker type to indicate the [<code>TxBuilder</code>] is being used to …","Marker type to indicate the [<code>TxBuilder</code>] is being used to …","A transaction builder","Set a custom fee rate","Set an absolute fee","Set the policy path to use while creating the transaction …","Add the list of outpoints to the internal list of UTXOs …","Add a utxo to the internal list of utxos that <strong>must</strong> be …","Add a foreign UTXO i.e. a UTXO not owned by this wallet.","Only spend utxos added by <code>add_utxo</code>.","Replace the internal list of unspendable utxos with a new …","Add a utxo to the internal list of unspendable utxos","Sign with a specific sig hash","Choose the ordering for inputs and outputs of the …","Use a specific nLockTime while creating the transaction","Build a transaction with a specific version","Do not spend change outputs","Only spend change outputs","Set a specific [<code>ChangeSpendPolicy</code>]. See […","Fill-in the <code>psbt::Input::non_witness_utxo</code> field even if …","Fill-in the <code>psbt::Output::redeem_script</code> and …","Fill-in the <code>PSBT_GLOBAL_XPUB</code> field with the extended keys …","Spend all the available inputs. This respects filters …","Choose the coin selection algorithm","Finish the building the transaction.","Enable signaling RBF","Enable signaling RBF with a specific nSequence value","Replace the recipients already added with a new list","Add a recipient to the internal list","Set a single recipient that will get all the selected …","Bump the fees of a transaction made with …","Ordering of the transaction’s inputs and outputs","Randomized (default)","Unchanged","BIP69 / Lexicographic","Sort transaction inputs and outputs by [<code>TxOrdering</code>] …","Policy regarding the use of change outputs when creating …","Use both change and non-change outputs (default)","Only use change outputs (see [<code>TxBuilder::only_spend_change</code>…","Only use non-change outputs (see […","Trait to check if a value is below the dust limit","Check whether or not a value is below dust limit","A Bitcoin wallet","Create a new “offline” wallet","The address index selection strategy to use to derived an …","Return a new address after incrementing the current …","Return the address for the current descriptor index if it …","Return the address for a specific descriptor index. Does …","Return the address for a specific descriptor index and …","Return a derived address using the external descriptor, …","Return whether or not a <code>script</code> is part of this wallet …","Return the list of unspent outputs of this wallet","Returns the <code>UTXO</code> owned by this wallet corresponding to …","Return the list of transactions made and received by the …","Return the balance, meaning the sum of this wallet’s …","Add an external signer","Add an address validator","Start building a transaction.","Bump the fee of a transaction previously created with …","Sign a transaction with all the wallet’s signers, in …","Return the spending policies for the wallet’s descriptor","Return the “public” version of the wallet’s …","Try to finalize a PSBT","Return the secp256k1 context used for all signing …","Returns the descriptor used to create adddresses for a …","get the corresponding PSBT Input for a LocalUtxo","Create a new “online” wallet","Sync the internal database with the blockchain","Return a reference to the internal blockchain client","Get the Bitcoin network the wallet is using.","Broadcast a transaction to the network","Errors that can be thrown by the <code>Wallet</code>","Wrong number of bytes found when trying to convert to u32","Generic error","This error is thrown when trying to convert Bare and …","Found multiple outputs when <code>single_recipient</code> option has …","<code>single_recipient</code> option is selected but neither …","Cannot build a tx without recipients","<code>manually_selected_only</code> option is selected but no utxo has …","Output created is under the dust limit, 546 satoshis","Wallet’s UTXO set is not enough to cover recipient’s …","Sats needed for some transaction","Sats available for spending","Branch and bound coin selection possible attempts with …","Branch and bound coin selection tries to avoid needing a …","Happens when trying to spend an UTXO that is not in the …","Thrown when a tx is not found in the internal database","Happens when trying to bump a transaction that is already …","Trying to replace a tx that has a sequence >= <code>0xFFFFFFFE</code>","When bumping a tx the fee rate requested is lower than …","Required fee rate (satoshi/vbyte)","When bumping a tx the absolute fee requested is lower …","Required fee absolute value (satoshi)","In order to use the <code>TxBuilder::add_global_xpubs</code> option …","Error while working with <code>keys</code>","Descriptor checksum mismatch","Spending policy is not compatible with this <code>KeychainKind</code>","Error while extracting and manipulating policies","Signing error","Progress value must be between <code>0.0</code> (included) and <code>100.0</code> …","Progress update error (maybe the channel has been closed)","Requested outpoint doesn’t exist in the tx (vout …","Error related to the parsing and usage of descriptors","Error that can be returned to fail the validation of an …","Encoding error","Miniscript error","BIP32 error","An ECDSA error","Error serializing or deserializing JSON data","Hex decoding error","Partially signed bitcoin transaction error","Electrum client error","Esplora client error","Compact filters client error)","Sled database error","Types of keychains","External","Internal, usually used for change outputs","Fee rate","An unspent output owned by a <code>Wallet</code>.","Reference to a transaction output","Transaction output","Type of keychain","A [<code>Utxo</code>] with its <code>satisfaction_weight</code>.","The weight of the witness data and <code>scriptSig</code> expressed in …","The UTXO","An unspent transaction output (UTXO).","A UTXO owned by the local wallet.","A UTXO owned by another wallet.","The location of the output.","The information about the input we require to add it to a …","A wallet transaction","Optional transaction","Transaction id","Timestamp","Received value (sats)","Sent value (sats)","Fee value (sats)","Confirmed in block height, <code>None</code> means unconfirmed","Get the version of BDK at runtime","Macro to write full descriptors with code","Macro to write descriptor fragments with code","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This will panic if translatefpk returns an uncompressed …","Convert a descriptor using abstract keys to one using …","Parse an expression tree into a Miniscript. As a general …","Parse an expression tree into a descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the descriptor is safe Checks whether all the …","Computes the Bitcoin address of the descriptor, if one …","Computes the scriptpubkey of the descriptor","Computes the scriptSig that will be in place for an …","Computes the “witness script” of the descriptor, i.e. …","Returns satisfying witness and scriptSig to spend an …","Computes an upper bound on the weight of a satisfying …","Get the <code>scriptCode</code> of a transaction output.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new empty mempool","Add a transaction to the mempool","Look-up a transaction in the mempool given an [<code>Inventory</code>] …","Return whether or not the mempool contains a transaction …","Return the list of transactions contained in the mempool","Connect to a peer over a plaintext TCP connection","Connect to a peer through a SOCKS5 proxy, optionally by …","Return the [<code>VersionMessage</code>] sent by the peer","Return the Bitcoin [<code>Network</code>] in use","Return the mempool used by this peer","Return whether or not the peer is still connected","Send a raw Bitcoin message to the peer","Waits for a specific incoming Bitcoin message, optionally …","Create a new pk descriptor","Create a new PkH descriptor","Create a new Wpkh descriptor Will return Err if …","Create a new sh wrapped wpkh from <code>Pk</code>. Errors when …","Create a new sh for a given redeem script Errors when …","Create a new wsh descriptor from witness script Errors …","Create a new sh wrapped wsh descriptor with witness script…","Create a new bare descriptor from witness script Errors …","Create a new sh sortedmulti descriptor with threshold <code>k</code> …","Create a new sh wrapped wsh sortedmulti descriptor from …","Create a new wsh sorted multi descriptor Errors when …","Get the [DescriptorType] of [Descriptor]","Whether or not the descriptor has any wildcards","Derives all wildcard keys in the descriptor using the …","Parse a descriptor that may contain secret keys","Serialize a descriptor to string with its secret keys","The fingerprint of the master key associated with this key","Full path, from the master key","Whether or not the key has a wildcards","If this public key has a wildcard, replace it by the …","Computes the public key corresponding to this descriptor …","Whether all spend paths of miniscript require a signature","Whether the miniscript is malleable","Whether the miniscript can exceed the resource …","Whether the miniscript contains a combination of timelocks","Whether the miniscript has repeated Pk or Pkh","Check whether the underlying Miniscript is safe under the …","Creates a new [Iter] iterator that will iterate over all […","Creates a new [PkIter] iterator that will iterate over …","Creates a new [PkhIter] iterator that will iterate over …","Creates a new [PkPkhIter] iterator that will iterate over …","Enumerates all child nodes of the current AST node (<code>self</code>) …","Returns child node with given index, if any","Returns <code>Vec</code> with cloned version of all public keys from …","Returns <code>Vec</code> with hashes of all public keys from the …","Returns <code>Vec</code> of [PkPkh] entries, representing either …","Returns <code>Option::Some</code> with cloned n’th public key from …","Returns <code>Option::Some</code> with hash of n’th public key from …","Returns <code>Option::Some</code> with hash of n’th public key or …","Add type information(Type and Extdata) to Miniscript …","Extracts the <code>AstElem</code> representing the root of the …","Get a reference to the inner <code>AstElem</code> representing the …","Attempt to parse an insane(scripts don’t clear sanity …","Attempt to parse a Script into Miniscript representation. …","Encode as a Bitcoin script","Size, in bytes of the script-pubkey. If this Miniscript …","Maximum number of witness elements used to satisfy the …","Maximum size, in bytes, of a satisfying witness. For …","Attempt to parse an insane(scripts don’t clear sanity …","Attempt to produce non-malleable satisfying witness for …","Attempt to produce a malleable satisfying witness for the …","Lifting corresponds conversion of miniscript into Policy […","Check whether the given satisfaction is valid under the …","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the script resource …","Consensus rules at the Miniscript satisfaction time. It …","Policy rules at the Miniscript satisfaction time. It is …","Check the consensus + policy(if not disabled) rules that …","Check the consensus + policy(if not disabled) rules …","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Construct a new derived key","Construct a word list from its language code. Returns None…","Get the word list for this language","Get a [<code>WordMap</code>][WordMap] that allows word -> index …","Generates a new <code>Mnemonic</code>","Create a <code>Mnemonic</code> from pre-generated entropy","Create a <code>Mnemonic</code> from an existing mnemonic phrase","Validate a mnemonic phrase","Get the mnemonic phrase as a string reference.","Consume the <code>Mnemonic</code> and return the phrase as a <code>String</code>.","Get the original entropy value of the mnemonic phrase as …","Get the <code>Language</code>","Get a <code>MnemonicType</code> for a mnemonic phrase with a specific …","Get a <code>MnemonicType</code> for a mnemonic phrase representing the …","Get a <code>MnemonicType</code> for an existing mnemonic phrase","Return the number of entropy+checksum bits","Return the number of entropy bits","Return the number of checksum bits","Return the number of words","Generates the seed from the <code>Mnemonic</code> and the password.","Get the seed value as a byte slice","Return the public version of this key, by applying either …","Create a new instance of <code>SortedMultiVec</code> given a list of …","Parse an expression tree into a SortedMultiVec","This will panic if translatefpk returns an uncompressed …","utility function to sanity a sorted multi vec","Create Terminal::Multi containing sorted pubkeys","Encode as a Bitcoin script","Attempt to produce a satisfying witness for the witness …","Size, in bytes of the script-pubkey. If this Miniscript …","Maximum number of witness elements used to satisfy the …","Maximum size, in bytes, of a satisfying witness. In …","Return [<code>KeychainKind</code>] as a byte","Create a new instance of [<code>FeeRate</code>] given a float fee rate …","Create a new instance of [<code>FeeRate</code>] given a float fee rate …","Create a new [<code>FeeRate</code>] with the default min relay fee …","Return the value as satoshi/vbyte","Get the location of the UTXO","Get the <code>TxOut</code> of the UTXO"],"i":[0,0,0,1,1,1,0,2,2,2,0,0,0,3,3,3,3,0,0,4,0,5,5,0,6,6,6,6,6,6,6,0,0,0,0,7,0,8,8,8,0,9,9,9,9,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,11,11,11,0,12,12,12,12,12,12,12,0,13,13,0,0,14,0,0,0,0,0,0,0,0,15,15,0,16,16,0,17,17,0,18,18,0,0,19,0,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,0,22,22,22,0,23,23,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,25,25,25,26,25,27,25,28,25,29,25,30,25,31,25,32,32,25,33,33,25,25,0,0,0,34,35,35,35,35,35,34,36,36,36,36,36,34,37,34,34,0,38,38,38,38,0,39,39,39,0,40,40,40,40,40,40,38,38,38,0,0,0,41,0,42,0,43,0,44,0,45,45,0,46,46,46,0,47,47,0,48,48,48,0,49,49,0,50,50,50,0,0,51,51,51,51,51,0,0,52,52,52,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,54,0,55,0,0,0,56,56,56,56,56,56,56,56,0,0,57,57,57,57,57,0,0,0,58,58,0,59,59,0,60,60,0,61,61,0,0,62,62,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,63,63,63,0,64,64,64,64,0,65,65,65,0,66,0,67,67,67,67,67,0,68,68,0,69,0,70,70,70,70,70,0,71,71,0,72,0,73,73,73,73,73,73,0,0,0,74,74,74,74,74,0,75,0,0,0,76,76,76,76,0,77,0,0,78,0,0,79,79,79,79,79,0,0,80,80,80,0,81,81,81,81,81,81,81,81,81,0,82,82,82,82,0,83,0,84,84,84,84,84,84,84,0,0,0,0,0,0,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,86,86,86,86,0,87,87,87,0,88,0,89,0,90,90,90,90,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,93,91,94,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,95,95,0,0,96,96,96,0,97,97,0,98,98,99,99,0,100,100,100,100,100,100,100,0,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,101,101,101,101,101,101,101,101,101,101,101,101,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,102,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,104,104,104,104,104,104,104,104,104,104,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,24,24,24,24,24,24,24,24,24,24,24,24,24,109,109,109,109,109,109,109,109,109,109,109,109,109,109,25,25,25,25,25,25,25,25,25,25,25,25,25,25,34,34,34,34,34,34,34,34,34,34,34,34,34,34,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,56,56,56,56,56,56,56,56,56,56,56,56,56,56,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,67,67,67,67,67,67,67,67,67,67,67,69,69,69,69,69,69,69,69,69,69,69,69,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,112,112,112,112,112,112,112,112,112,112,112,112,112,112,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,97,97,97,97,97,97,97,97,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,76,76,76,76,113,113,113,113,113,113,113,113,113,113,113,113,113,113,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84,84,84,84,84,114,114,114,114,114,114,114,114,114,114,114,114,114,114,115,115,115,115,115,115,115,115,115,115,115,115,115,115,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,89,89,89,89,89,89,89,90,90,90,90,90,90,90,90,90,90,90,90,52,62,51,52,51,52,51,51,51,106,61,61,52,62,62,58,58,107,107,107,107,107,107,107,107,106,106,106,106,106,106,51,59,58,52,58,61,51,52,62,107,106,52,107,58,106,61,107,60,58,59,51,62,52,61,106,51,52,62,51,51,51,51,51,51,51,51,62,58,107,106,51,52,61,58,58,58,51,59,62,52,51,106,61,107,52,58,62,110,111,110,57,111,56,56,110,111,111,110,110,111,57,56,110,111,111,110,57,56,56,57,110,1,101,4,7,104,105,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,19,19,19,19,19,19,19,19,19,19,19,15,15,15,15,15,15,15,15,15,15,15,15,19,19,19,19,19,19,19,19,19,19,19,19,15,15,19,19,15,19,42,43,44,45,46,47,48,49,50,116,117,52,51,69,63,58,59,111,111,118,118,110,110,67,69,69,110,113,78,1,1,1,1,1,1,1,101,101,101,101,101,101,4,4,4,4,4,4,7,7,7,7,7,7,95,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,2,2,2,101,6,6,6,6,10,10,10,10,10,15,15,16,16,18,18,24,24,24,24,24,24,24,34,38,67,67,73,73,80,80,84,2,3,5,8,9,11,104,105,108,109,25,34,38,39,64,72,95,112,96,97,98,100,74,113,80,81,83,84,114,115,85,86,87,102,19,109,39,72,112,100,113,78,83,84,114,115,86,87,108,39,80,83,86,87,2,2,3,3,5,5,8,8,9,9,11,108,39,39,40,40,64,95,112,112,96,96,97,97,98,98,100,100,74,74,80,80,81,83,83,86,87,108,39,112,80,83,86,87,79,108,69,91,2,3,4,5,6,102,103,7,8,9,10,11,15,17,18,19,108,24,109,25,34,38,39,40,63,64,72,73,95,112,96,97,98,100,74,76,113,78,79,80,81,83,84,114,115,85,86,87,89,90,91,6,10,108,24,40,73,74,81,11,108,39,95,80,86,87,79,2,3,5,8,9,17,18,109,25,34,38,39,95,96,100,79,2,3,5,8,9,17,18,95,96,100,79,108,108,108,108,108,102,102,102,102,102,103,103,103,103,103,103,103,103,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,108,56,56,56,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,111,111,59,62,62,62,62,62,62,62,62,62,62,95,112,112,112,112,98,98],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["option",4],["u8",15],["str",15]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["vec",3],["path",3],["asref",8],["option",4],["peer",3]],[["compactfilterserror",4],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],null,null,[[],[["error",4],["result",4]]],null,null,[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[]],null,[[],["noopprogress",3]],null,[[],["logprogress",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],null,[[["u32",15],["keychainkind",4],["script",3]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],null,[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["result",4],["vec",3],["error",4]]],[[["bool",15]],[["error",4],["result",4],["vec",3]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],null,null,[[]],[[],[["result",4],["error",4]]],null,null,[[],[["error",4],["result",4]]],null,null,[[["str",15]],[["result",4],["string",3],["descriptorerror",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],[[],["string",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,[[],["bool",15]],[[["btreemap",3]],[["policyerror",4],["condition",3],["result",4]]],[[["secp256k1",3],["psbt",3],["extendeddescriptor",6]],[["error",4],["result",4]]],null,null,null,[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]],[[],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],null,null,null,null,null,null,[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],null,[[["signerscontainer",3],["secp256k1",3]],[["descriptorerror",4],["result",4],["option",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]],[[],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],null,[[],["validnetworks",6]],[[],["validnetworks",6]],[[],["validnetworks",6]],[[["validnetworks",6]],["validnetworks",6]],null,[[["validnetworks",6],["descriptorpublickey",4]]],[[["descriptorsecretkey",4],["validnetworks",6]]],[[["validnetworks",6]]],null,null,null,[[],["bool",15]],[[],["bool",15]],null,[[],["scriptcontextenum",4]],[[],["bool",15]],[[],["bool",15]],null,[[],[["result",4],["keyerror",4],["descriptorkey",4]]],null,null,null,[[],["bool",15]],[[["network",4]],[["extendedprivkey",3],["option",4]]],[[["secp256k1",3],["network",4]],["extendedpubkey",3]],null,[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["keysource",6],["derivationpath",3],["option",4]],[["result",4],["keyerror",4],["descriptorkey",4]]],null,[[]],null,null,null,null,[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],null,[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["keychainkind",4],["hdkeypaths",6],["script",3]],[["result",4],["addressvalidatorerror",4]]],null,null,null,null,null,[[],["u64",15]],[[],["u64",15]],null,[[["vec",3],["weightedutxo",3],["feerate",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],null,null,[[["u64",15]]],null,null,null,null,[[["wallet",3],["bool",15],["str",15]],[["result",4],["str",15]]],[[],["string",3]],[[],[["option",4],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["partiallysignedtransaction",3],["option",4],["secp256k1",3]],[["result",4],["signererror",4]]],[[],["bool",15]],[[["secp256k1",3]],["signerid",4]],[[],[["option",4],["descriptorsecretkey",4]]],null,null,null,[[["secp256k1",3]],["keymap",6]],[[]],[[["signer",8],["signerid",4],["signerordering",3],["arc",3]],[["arc",3],["option",4]]],[[["signerid",4],["signerordering",3]],[["arc",3],["option",4]]],[[],[["signerid",4],["vec",3]]],[[],[["vec",3],["arc",3]]],[[["signerid",4]],[["option",4],["arc",3]]],null,[[],["u64",15]],null,null,null,null,null,[[["feerate",3]]],[[["u64",15]]],[[["btreemap",3],["keychainkind",4],["vec",3],["string",3]]],[[],[["error",4],["result",4]]],[[["outpoint",3]],[["error",4],["result",4]]],[[["usize",15],["outpoint",3],["input",3]],[["error",4],["result",4]]],[[]],[[["vec",3],["outpoint",3]]],[[["outpoint",3]]],[[["sighashtype",4]]],[[["txordering",4]]],[[["u32",15]]],[[["i32",15]]],[[]],[[]],[[["changespendpolicy",4]]],[[]],[[]],[[]],[[]],[[["coinselectionalgorithm",8]],[["txbuilder",3],["coinselectionalgorithm",8]]],[[],[["error",4],["result",4]]],[[]],[[["u32",15]]],[[["vec",3]]],[[["script",3],["u64",15]]],[[["script",3]]],[[],[["error",4],["result",4]]],null,null,null,null,[[["transaction",3]]],null,null,null,null,null,[[],["bool",15]],null,[[["intowalletdescriptor",8],["option",4],["network",4]],[["error",4],["result",4]]],null,null,null,null,null,[[["addressindex",4]],[["result",4],["address",3],["error",4]]],[[["script",3]],[["result",4],["bool",15],["error",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["bool",15]],[["error",4],["result",4],["vec",3]]],[[],[["error",4],["result",4],["u64",15]]],[[["keychainkind",4],["signer",8],["signerordering",3],["arc",3]]],[[["arc",3],["addressvalidator",8]]],[[],[["txbuilder",3],["defaultcoinselectionalgorithm",6],["createtx",3]]],[[["txid",3]],[["txbuilder",3],["error",4],["result",4]]],[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],[[["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],[[],["secp256k1",3]],[[["keychainkind",4]],["extendeddescriptor",6]],[[["localutxo",3],["option",4],["sighashtype",4],["bool",15]],[["result",4],["input",3],["error",4]]],[[["intowalletdescriptor",8],["option",4],["network",4]],[["error",4],["result",4]]],[[["u32",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[]],[[],["network",4]],[[["transaction",3]],[["error",4],["txid",3],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["str",15]],null,null,[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[],["result",4]],[[],["usize",15]],[[],[["result",4],["vec",3]]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["result",4]],[[],["usize",15]],[[],[["result",4],["vec",3]]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["result",4]],[[],[["descriptor",4],["result",4]]],[[["tree",3]],[["result",4],["miniscript",3],["error",4]]],[[["tree",3]],[["descriptor",4],["result",4],["error",4]]],[[["descriptor",4]],["bool",15]],[[["descriptor",4]],["bool",15]],[[["legacy",4]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["miniscript",3]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["segwitv0",4]],["bool",15]],[[["terminal",4]],[["scriptcontexterror",4],["result",4]]],[[],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["terminal",4]],[["scriptcontexterror",4],["result",4]]],[[],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["str",15]],[["descriptor",4],["result",4],["error",4]]],[[["str",15]],[["result",4],["descriptorsecretkey",4]]],[[["str",15]],[["result",4],["descriptorpublickey",4]]],[[["str",15]],[["result",4],["miniscript",3],["error",4]]],[[],["descriptorpublickey",4]],[[],["descriptorsinglepub",3]],[[],["descriptor",4]],[[],["miniscript",3]],[[],["sortedmultivec",3]],[[],["segwitv0",4]],[[],["legacy",4]],[[]],[[]],[[]],[[]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],[["policy",4],["result",4],["error",4]]],[[],[["policy",4],["result",4],["error",4]]],[[],[["policy",4],["result",4],["error",4]]],[[],[["error",4],["result",4]]],[[["network",4]],[["result",4],["address",3],["error",4]]],[[],["script",3]],[[],["script",3]],[[],["script",3]],[[],[["result",4],["error",4]]],[[],[["usize",15],["error",4],["result",4]]],[[],["script",3]],[[["sortedmultivec",3]],["ordering",4]],[[["descriptorpublickey",4]],["ordering",4]],[[["segwitv0",4]],["ordering",4]],[[["legacy",4]],["ordering",4]],[[["descriptor",4]],["ordering",4]],[[["miniscript",3]],["ordering",4]],[[["descriptorsinglepub",3]],["ordering",4]],[[],["bool",15]],[[],["descriptorpublickey",4]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["descriptor",4]],[["ordering",4],["option",4]]],[[["legacy",4]],[["ordering",4],["option",4]]],[[["descriptorsinglepub",3]],[["ordering",4],["option",4]]],[[["segwitv0",4]],[["ordering",4],["option",4]]],[[["miniscript",3]],[["ordering",4],["option",4]]],[[["descriptorpublickey",4]],[["ordering",4],["option",4]]],[[["sortedmultivec",3]],[["ordering",4],["option",4]]],[[]],[[]],[[],["mnemonic",3]],[[],["mnemonictype",4]],[[],["seed",3]],[[],["language",4]],[[]],[[]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["str",15]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["mnemonictype",4]],[[],["language",4]],[[["language",4]],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4],["script",3]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4],["script",3]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4],["script",3]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["result",4],["vec",3],["error",4]]],[[["bool",15]],[["error",4],["result",4],["vec",3]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["result",4],["vec",3],["error",4]]],[[["bool",15]],[["error",4],["result",4],["vec",3]]],[[["u32",15],["keychainkind",4]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["txid",3],["bool",15]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[]],[[],[["result",4],["error",4]]],[[]],[[],[["result",4],["error",4]]],[[],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[],[["descriptorerror",4],["result",4],["descriptortemplateout",6]]],[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],[[["signerscontainer",3],["secp256k1",3]],[["error",4],["result",4],["option",4]]],[[["signerscontainer",3],["secp256k1",3]],[["error",4],["result",4],["option",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["keysource",6],["derivationpath",3],["option",4]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["keysource",6],["derivationpath",3],["option",4]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["keysource",6],["derivationpath",3],["option",4]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["keysource",6],["derivationpath",3],["option",4]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["generatedkey",3]]],[[["vec",3],["weightedutxo",3],["feerate",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],[[["vec",3],["weightedutxo",3],["feerate",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["result",4],["error",4]]],[[["txid",3]],[["result",4],["error",4],["option",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[]],[[["error",4]]],[[["addressvalidatorerror",4]]],[[["policyerror",4]]],[[["signererror",4]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["esploraerror",4]]],[[["error",4]]],[[["compactfilterserror",4]]],[[["electrumblockchain",3]]],[[["esplorablockchain",3]]],[[["compactfiltersblockchain",3]]],[[["electrumblockchainconfig",3]]],[[["esplorablockchainconfig",3]]],[[["compactfiltersblockchainconfig",3]]],[[["client",3]]],[[["error",3]]],[[["parseinterror",3]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",3]]],[[["error",4]]],[[["systemtimeerror",3]]],[[["error",4]]],[[["memorydatabase",3]]],[[["tree",3]]],[[]],[[]],[[]],[[["sleddbconfiguration",3]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["policyerror",4]]],[[["bool",15]]],[[["satisfiableitem",4]]],[[["extendedpubkey",3]]],[[["extendedprivkey",3]]],[[["error",4]]],[[["error",4]]],[[["hash",3]],["signerid",4]],[[["fingerprint",3]],["signerid",4]],[[["keymap",6]],["signerscontainer",3]],[[],["anyblockchainconfig",4]],[[],["electrumblockchainconfig",3]],[[],["esplorablockchainconfig",3]],[[],["bitcoinpeerconfig",3]],[[],["compactfiltersblockchainconfig",3]],[[],["capability",4]],[[],["noopprogress",3]],[[],["logprogress",3]],[[],["deriveddescriptorkey",3]],[[],["pkorf",3]],[[],["satisfiableitem",4]],[[],["satisfaction",4]],[[],["policy",3]],[[],["condition",3]],[[],["scriptcontextenum",4]],[[],["privatekeygenerateoptions",3]],[[],["keychainkind",4]],[[],["feerate",3]],[[],["localutxo",3]],[[],["weightedutxo",3]],[[],["utxo",4]],[[],["transactiondetails",3]],[[],["addressvalidatorerror",4]],[[],["largestfirstcoinselection",3]],[[],["signerid",4]],[[],["signererror",4]],[[],["signerordering",3]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[],["txordering",4]],[[],["changespendpolicy",4]],[[],["mempool",3]],[[],["memorydatabase",3]],[[],["pkorf",3]],[[],["condition",3]],[[]],[[]],[[],["transactiondetails",3]],[[],["largestfirstcoinselection",3]],[[]],[[]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[]],[[],["ordering",4]],[[["condition",3]],["ordering",4]],[[["signerid",4]],["ordering",4]],[[["signerordering",3]],["ordering",4]],[[["txordering",4]],["ordering",4]],[[["changespendpolicy",4]],["ordering",4]],[[["anyblockchainconfig",4]],["bool",15]],[[["anyblockchainconfig",4]],["bool",15]],[[["electrumblockchainconfig",3]],["bool",15]],[[["electrumblockchainconfig",3]],["bool",15]],[[["esplorablockchainconfig",3]],["bool",15]],[[["esplorablockchainconfig",3]],["bool",15]],[[["bitcoinpeerconfig",3]],["bool",15]],[[["bitcoinpeerconfig",3]],["bool",15]],[[["compactfiltersblockchainconfig",3]],["bool",15]],[[["compactfiltersblockchainconfig",3]],["bool",15]],[[["capability",4]],["bool",15]],[[],["bool",15]],[[["condition",3]],["bool",15]],[[["condition",3]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["scriptcontextenum",4]],["bool",15]],[[["keychainkind",4]],["bool",15]],[[["feerate",3]],["bool",15]],[[["feerate",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["utxo",4]],["bool",15]],[[["utxo",4]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signererror",4]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["txordering",4]],["bool",15]],[[["changespendpolicy",4]],["bool",15]],[[],[["ordering",4],["option",4]]],[[["condition",3]],[["option",4],["ordering",4]]],[[["feerate",3]],[["option",4],["ordering",4]]],[[["signerid",4]],[["option",4],["ordering",4]]],[[["signerordering",3]],[["option",4],["ordering",4]]],[[["txordering",4]],[["option",4],["ordering",4]]],[[["changespendpolicy",4]],[["option",4],["ordering",4]]],[[],["string",3]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[]],[[],["bool",15]],[[],["usize",15]],[[],["publickey",3]],[[],["hash",3]],[[]],[[["transaction",3]]],[[["inventory",4]],[["option",4],["transaction",3]]],[[["txid",3]],["bool",15]],[[],[["vec",3],["transaction",3]]],[[["mempool",3],["tosocketaddrs",8],["arc",3],["network",4]],[["compactfilterserror",4],["result",4]]],[[["totargetaddr",8],["option",4],["tosocketaddrs",8],["mempool",3],["arc",3],["network",4]],[["compactfilterserror",4],["result",4]]],[[],["versionmessage",3]],[[],["network",4]],[[],[["mempool",3],["arc",3]]],[[],["bool",15]],[[["networkmessage",4]],[["result",4],["compactfilterserror",4]]],[[["str",15],["option",4],["duration",3]],[["option",4],["compactfilterserror",4],["result",4]]],[[],["descriptor",4]],[[],["descriptor",4]],[[],[["descriptor",4],["result",4],["error",4]]],[[],[["descriptor",4],["result",4],["error",4]]],[[["legacy",4],["miniscript",3]],[["descriptor",4],["result",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["descriptor",4],["result",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["descriptor",4],["result",4],["error",4]]],[[["miniscript",3],["barectx",4]],[["descriptor",4],["result",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["descriptor",4],["result",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["descriptor",4],["result",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["descriptor",4],["result",4],["error",4]]],[[],["descriptortype",4]],[[],["bool",15]],[[["u32",15]],[["descriptorpublickey",4],["descriptor",4]]],[[["str",15],["secp256k1",3]],[["error",4],["result",4]]],[[["hashmap",3]],["string",3]],[[],["fingerprint",3]],[[],["derivationpath",3]],[[],["bool",15]],[[["u32",15]],["descriptorpublickey",4]],[[["secp256k1",3]],[["publickey",3],["conversionerror",4],["result",4]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["analysiserror",4],["result",4]]],[[],["iter",3]],[[],["pkiter",3]],[[],["pkhiter",3]],[[],["pkpkhiter",3]],[[],[["global",3],["miniscript",3],["vec",3]]],[[["usize",15]],[["miniscript",3],["option",4]]],[[],[["global",3],["vec",3]]],[[],[["global",3],["vec",3]]],[[],[["pkpkh",4],["global",3],["vec",3]]],[[["usize",15]],["option",4]],[[["usize",15]],["option",4]],[[["usize",15]],[["option",4],["pkpkh",4]]],[[["terminal",4]],[["result",4],["miniscript",3],["error",4]]],[[],["terminal",4]],[[],["terminal",4]],[[["script",3]],[["error",4],["result",4],["miniscript",3]]],[[["script",3]],[["error",4],["result",4],["miniscript",3]]],[[],["script",3]],[[],["usize",15]],[[],[["usize",15],["error",4],["result",4]]],[[],[["usize",15],["error",4],["result",4]]],[[["str",15]],[["result",4],["miniscript",3],["error",4]]],[[],[["vec",3],["result",4],["error",4]]],[[],[["vec",3],["result",4],["error",4]]],[[],[["result",4],["lifterror",4]]],[[],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["miniscript",3]],[["error",4],["result",4]]],[[["secp256k1",3],["descriptorpublickey",4]],["deriveddescriptorkey",3]],[[["str",15]],[["option",4],["language",4]]],[[],["wordlist",3]],[[],["wordmap",3]],[[["language",4],["mnemonictype",4]],["mnemonic",3]],[[["language",4]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["error",3],["result",4]]],[[],["str",15]],[[],["string",3]],[[]],[[],["language",4]],[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]],[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]],[[["str",15]],[["result",4],["error",3],["mnemonictype",4]]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[],["usize",15]],[[["str",15],["mnemonic",3]],["seed",3]],[[]],[[["secp256k1",3]],[["descriptorpublickey",4],["descriptorkeyparseerror",3],["result",4]]],[[["usize",15],["global",3],["vec",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[["tree",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[],[["sortedmultivec",3],["result",4]]],[[],[["error",4],["result",4]]],[[],["terminal",4]],[[],["script",3]],[[],[["vec",3],["result",4],["error",4]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[["f32",15]]],[[["f32",15]]],[[]],[[],["f32",15]],[[],["outpoint",3]],[[],["txout",3]]],"p":[[4,"AnyBlockchain"],[4,"AnyBlockchainConfig"],[3,"ElectrumBlockchainConfig"],[3,"EsploraBlockchain"],[3,"EsploraBlockchainConfig"],[4,"EsploraError"],[3,"CompactFiltersBlockchain"],[3,"BitcoinPeerConfig"],[3,"CompactFiltersBlockchainConfig"],[4,"CompactFiltersError"],[4,"Capability"],[8,"Blockchain"],[8,"ConfigurableBlockchain"],[8,"Progress"],[4,"AnyDatabase"],[4,"AnyBatch"],[3,"SledDbConfiguration"],[4,"AnyDatabaseConfig"],[3,"MemoryDatabase"],[8,"BatchOperations"],[8,"Database"],[8,"BatchDatabase"],[8,"ConfigurableDatabase"],[4,"Error"],[4,"SatisfiableItem"],[13,"Sha256Preimage"],[13,"Hash256Preimage"],[13,"Ripemd160Preimage"],[13,"Hash160Preimage"],[13,"AbsoluteTimelock"],[13,"RelativeTimelock"],[13,"Multisig"],[13,"Thresh"],[4,"Satisfaction"],[13,"Partial"],[13,"PartialComplete"],[13,"Complete"],[3,"Policy"],[3,"Condition"],[4,"PolicyError"],[8,"DescriptorTemplate"],[3,"P2Pkh"],[3,"P2Wpkh_P2Sh"],[3,"P2Wpkh"],[3,"Bip44"],[3,"Bip44Public"],[3,"Bip49"],[3,"Bip49Public"],[3,"Bip84"],[3,"Bip84Public"],[4,"Descriptor"],[3,"Miniscript"],[8,"ScriptContext"],[8,"IntoWalletDescriptor"],[8,"ExtractPolicy"],[4,"Language"],[4,"MnemonicType"],[4,"DescriptorPublicKey"],[4,"DescriptorSecretKey"],[3,"DescriptorSinglePriv"],[3,"DescriptorSinglePub"],[3,"SortedMultiVec"],[4,"DescriptorKey"],[4,"ScriptContextEnum"],[8,"ExtScriptContext"],[8,"IntoDescriptorKey"],[4,"ExtendedKey"],[8,"DerivableKey"],[3,"GeneratedKey"],[8,"GeneratableKey"],[8,"GeneratableDefaultOptions"],[3,"PrivateKeyGenerateOptions"],[4,"KeyError"],[4,"AddressValidatorError"],[8,"AddressValidator"],[3,"CoinSelectionResult"],[8,"CoinSelectionAlgorithm"],[3,"BranchAndBoundCoinSelection"],[3,"WalletExport"],[4,"SignerId"],[4,"SignerError"],[8,"Signer"],[3,"SignerOrdering"],[3,"SignersContainer"],[3,"TxBuilder"],[4,"TxOrdering"],[4,"ChangeSpendPolicy"],[8,"IsDust"],[3,"Wallet"],[4,"AddressIndex"],[4,"Error"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[4,"KeychainKind"],[3,"LocalUtxo"],[3,"WeightedUtxo"],[4,"Utxo"],[13,"Foreign"],[3,"TransactionDetails"],[3,"ElectrumBlockchain"],[3,"Mempool"],[3,"Peer"],[3,"NoopProgress"],[3,"LogProgress"],[4,"Legacy"],[4,"Segwitv0"],[3,"DerivedDescriptorKey"],[3,"PkOrF"],[3,"Mnemonic"],[3,"Seed"],[3,"FeeRate"],[3,"LargestFirstCoinSelection"],[3,"CreateTx"],[3,"BumpFee"],[6,"ExtendedDescriptor"],[6,"DescriptorTemplateOut"],[6,"MnemonicWithPassphrase"]]}\
+"bdk":{"doc":"A modern, lightweight, descriptor-based wallet library …","t":[13,13,13,13,13,13,13,13,13,4,13,13,3,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,3,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,3,13,13,4,3,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,0,11,11,11,11,11,11,12,11,12,12,12,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,12,5,11,11,11,11,11,11,11,0,11,12,12,12,12,12,12,13,8,4,16,8,13,13,3,3,8,6,0,11,11,11,11,11,11,10,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,0,11,11,0,10,11,11,11,11,10,10,10,10,11,11,11,11,11,11,11,5,5,5,10,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,4,4,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,3,3,4,13,13,13,13,13,13,13,13,3,13,13,13,3,13,13,13,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,12,11,11,13,3,3,4,13,13,13,13,13,13,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,16,8,8,16,8,8,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,10,10,10,10,10,4,4,4,13,13,13,13,13,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,6,3,4,6,8,6,8,6,4,3,13,8,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,5,13,13,13,4,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,3,3,4,13,13,4,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,3,8,6,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,8,4,4,4,3,3,16,16,8,4,8,8,3,8,13,13,13,4,6,13,13,13,16,13,3,13,8,4,13,13,13,3,6,13,13,5,10,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,5,11,10,11,11,5,11,11,11,11,12,12,11,11,11,11,11,11,12,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,13,13,13,4,3,4,6,3,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,13,13,13,13,3,11,11,0,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,0,11,0,11,11,11,11,0,11,11,11,11,8,4,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,3,8,3,6,3,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,13,13,13,13,13,13,13,13,13,13,13,8,4,4,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,13,3,13,13,4,3,13,13,3,8,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["AddressValidator","Bip32","BnBNoExactMatch","BnBTotalTriesExceeded","ChecksumMismatch","CompactFilters","Descriptor","Electrum","Encode","Error","Esplora","External","FeeRate","FeeRateTooLow","FeeTooLow","Foreign","Generic","Hex","InsufficientFunds","Internal","InvalidOutpoint","InvalidPolicyPathError","InvalidProgressValue","InvalidU32Bytes","IrreplaceableTransaction","Json","Key","KeychainKind","Local","LocalUtxo","Miniscript","MissingKeyOrigin","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","ProgressUpdateError","Psbt","ScriptDoesntHaveAddressForm","Secp256k1","Signer","SingleRecipientMultipleOutputs","SingleRecipientNoInputs","Sled","SpendingPolicyRequired","TransactionConfirmed","TransactionDetails","TransactionNotFound","UnknownUtxo","Utxo","WeightedUtxo","as_byte","as_ref","as_sat_vb","base32_len","blockchain","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_base32","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","database","default","default","default_min_relay_fee","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","descriptor","descriptor","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","fees","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_btc_per_kvb","from_sat_per_vb","hash","height","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_descriptor_key","into_extended_key","into_wallet_descriptor","into_wallet_descriptor","keychain","keys","ne","ne","ne","ne","ne","outpoint","outpoint","partial_cmp","received","satisfaction_weight","sent","serialize","serialize","serialize","timestamp","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","transaction","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txid","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet","write_base32","available","needed","required","required","outpoint","psbt_input","AccurateFees","Blockchain","Capability","Config","ConfigurableBlockchain","FullHistory","GetAnyTx","LogProgress","NoopProgress","Progress","ProgressData","any","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","broadcast","clone","clone","clone","clone_into","clone_into","clone_into","compact_filters","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","electrum","eq","equivalent","esplora","estimate_fee","fmt","from","from","from","from_config","get_capabilities","get_height","get_tx","hash","init","init","init","into","into","into","log_progress","noop_progress","progress","setup","sync","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update","update","update","vzip","vzip","vzip","AnyBlockchain","AnyBlockchainConfig","CompactFilters","CompactFilters","Electrum","Electrum","Esplora","Esplora","borrow","borrow","borrow_mut","borrow_mut","broadcast","clone","clone_into","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","eq","estimate_fee","fmt","from","from","from","from","from","from","from","from","from_config","get_capabilities","get_height","get_tx","init","init","into","into","ne","serialize","setup","sync","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Bip158","BitcoinPeerConfig","CompactFiltersBlockchain","CompactFiltersBlockchainConfig","CompactFiltersError","DataCorruption","Db","Global","InvalidFilter","InvalidFilterHeader","InvalidHeaders","InvalidResponse","Io","Mempool","MissingBlock","NoPeers","NotConnected","Peer","PeerBloomDisabled","Time","Timeout","add_tx","address","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broadcast","clone","clone","clone_into","clone_into","connect","connect_proxy","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","drop","drop","eq","eq","estimate_fee","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from_config","get_capabilities","get_height","get_mempool","get_network","get_tx","get_tx","get_version","has_tx","init","init","init","init","init","init","into","into","into","into","into","into","is_connected","iter_txs","ne","ne","network","new","new","peers","recv","send","serialize","serialize","setup","skip_blocks","socks5","socks5_credentials","storage_dir","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","ElectrumBlockchain","ElectrumBlockchainConfig","borrow","borrow","borrow_mut","borrow_mut","broadcast","clone","clone_into","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","eq","estimate_fee","fmt","from","from","from","from_config","get_capabilities","get_height","get_tx","init","init","into","into","ne","retry","serialize","setup","socks5","timeout","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","url","vzip","vzip","BitcoinEncoding","EsploraBlockchain","EsploraBlockchainConfig","EsploraError","HeaderHashNotFound","HeaderHeightNotFound","Hex","Parsing","Reqwest","TransactionNotFound","base_url","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","broadcast","clone","clone_into","concurrency","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","eq","estimate_fee","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_config","get_capabilities","get_height","get_tx","init","init","init","into","into","into","ne","new","serialize","setup","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Batch","BatchDatabase","BatchOperations","Config","ConfigurableDatabase","Database","any","begin_batch","check_descriptor_checksum","commit_batch","del_last_index","del_path_from_script_pubkey","del_raw_tx","del_script_pubkey_from_path","del_tx","del_utxo","from_config","get_last_index","get_path_from_script_pubkey","get_raw_tx","get_script_pubkey_from_path","get_tx","get_utxo","increment_last_index","iter_raw_txs","iter_script_pubkeys","iter_txs","iter_utxos","memory","set_last_index","set_raw_tx","set_script_pubkey","set_tx","set_utxo","AnyBatch","AnyDatabase","AnyDatabaseConfig","Memory","Memory","Memory","Sled","Sled","Sled","SledDbConfiguration","begin_batch","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_descriptor_checksum","commit_batch","del_last_index","del_last_index","del_path_from_script_pubkey","del_path_from_script_pubkey","del_raw_tx","del_raw_tx","del_script_pubkey_from_path","del_script_pubkey_from_path","del_tx","del_tx","del_utxo","del_utxo","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","drop","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_config","get_last_index","get_path_from_script_pubkey","get_raw_tx","get_script_pubkey_from_path","get_tx","get_utxo","increment_last_index","init","init","init","init","into","into","into","into","iter_raw_txs","iter_script_pubkeys","iter_txs","iter_utxos","path","serialize","serialize","set_last_index","set_last_index","set_raw_tx","set_raw_tx","set_script_pubkey","set_script_pubkey","set_tx","set_tx","set_utxo","set_utxo","tree_name","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","MemoryDatabase","begin_batch","borrow","borrow_mut","check_descriptor_checksum","commit_batch","default","del_last_index","del_path_from_script_pubkey","del_raw_tx","del_script_pubkey_from_path","del_tx","del_utxo","deref","deref_mut","drop","fmt","from","from_config","get_last_index","get_path_from_script_pubkey","get_raw_tx","get_script_pubkey_from_path","get_tx","get_utxo","increment_last_index","init","into","iter_raw_txs","iter_script_pubkeys","iter_txs","iter_utxos","new","set_last_index","set_raw_tx","set_script_pubkey","set_tx","set_utxo","try_from","try_into","type_id","vzip","Bare","DerivedDescriptor","DerivedDescriptorKey","Descriptor","ExtendedDescriptor","ExtractPolicy","HdKeyPaths","IntoWalletDescriptor","KeyMap","Legacy","Miniscript","Pkh","ScriptContext","Segwitv0","Sh","Wpkh","Wsh","address","as_enum","as_enum","as_inner","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","derive","desc_type","drop","drop","drop","drop","drop","encode","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","extract_policy","extract_policy","extract_policy","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from_ast","from_str","from_str","from_str_insane","from_tree","from_tree","get_leaf_pk","get_leaf_pk_pkh","get_leaf_pkh","get_nth_child","get_nth_pk","get_nth_pk_pkh","get_nth_pkh","get_satisfaction","has_mixed_timelocks","has_repeated_keys","hash","hash","hash","hash","hash_to_hash160","init","init","init","init","init","into","into","into","into","into","into_inner","into_wallet_descriptor","is_deriveable","is_non_malleable","is_uncompressed","iter","iter_pk","iter_pk_pkh","iter_pkh","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","ne","new","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialized_len","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_pubkeyhash","to_public_key","to_string","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","vzip","within_resource_limits","get_checksum","Base58","Bip32","DuplicatedKeys","Error","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","Pk","Policy","borrow","borrow_mut","deref","deref_mut","drop","fmt","fmt","from","from","from","from","from","from","from","from","init","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","Complete","Condition","ConditionMap","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","Sha256Preimage","Signature","SignatureKey","Thresh","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","contribution","csv","default","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","fill_satisfactions","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_condition","hash","id","id","init","init","init","init","init","init","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","ne","ne","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","0","0","0","0","0","0","0","0","0","1","1","1","1","1","1","2","2","2","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","from","from","from","from","from","from","from","from","from","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","DescriptorSinglePriv","DescriptorSinglePub","Entropy","Error","ExtScriptContext","ExtendedKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","KeyError","KeyMap","Legacy","Message","Miniscript","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","SinglePriv","SinglePub","SortedMultiVec","ValidNetworks","XPrv","XPub","any_network","as_enum","as_public","bip39","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_local_validity","check_terminal_non_malleable","check_witness","check_witness","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","compressed","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","derive","derive_public_key","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","generate","generate_default","generate_with_entropy","generate_with_entropy_default","has_secret","hash","hash","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_segwit_v0","is_segwit_v0","is_uncompressed","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","ne","ne","ne","new","origin","origin","other_top_level_checks","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","pks","sanity_check","satisfy","script_size","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_pubkeyhash","to_string","to_string","to_string","to_string","top_level_checks","top_level_checks","top_level_type_check","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ChineseSimplified","ChineseTraditional","English","French","Italian","Japanese","Korean","Language","Mnemonic","MnemonicType","MnemonicWithPassphrase","Seed","Spanish","Words12","Words15","Words18","Words21","Words24","as_bytes","as_ref","as_ref","base32_len","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_base32","checksum_bits","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","entropy","entropy_bits","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_key_size","for_phrase","for_word_count","from","from","from","from","from_entropy","from_language_code","from_phrase","generate_with_entropy","init","init","init","init","into","into","into","into","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_phrase","language","new","new","phrase","to_hex","to_hex","to_owned","to_owned","to_owned","to_owned","to_string","to_string","total_bits","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","validate","vzip","vzip","vzip","vzip","word_count","wordlist","wordmap","write_base32","zeroize","zeroize","zeroize","AddressIndex","IsDust","LastUnused","New","Peek","Reset","Wallet","add_address_validator","add_signer","address_validator","borrow","borrow","borrow_mut","borrow_mut","broadcast","build_fee_bump","build_tx","client","coin_selection","deref","deref","deref_mut","deref_mut","drop","drop","export","finalize_psbt","fmt","fmt","from","from","get_address","get_balance","get_descriptor_for_keychain","get_psbt_input","get_utxo","init","init","into","into","is_dust","is_mine","list_transactions","list_unspent","network","new","new_offline","policies","public_descriptor","secp_ctx","sign","signer","sync","time","try_from","try_from","try_into","try_into","tx_builder","type_id","type_id","vzip","vzip","AddressValidator","AddressValidatorError","ConnectionError","InvalidScript","Message","TimeoutError","UserRejected","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","fmt","from","init","into","ne","to_owned","to_string","try_from","try_into","type_id","validate","vzip","BranchAndBoundCoinSelection","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","LargestFirstCoinSelection","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","coin_select","coin_select","coin_select","default","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fee_amount","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","WalletExport","blockheight","borrow","borrow_mut","change_descriptor","deref","deref_mut","descriptor","deserialize","drop","export_wallet","fmt","from","from_str","init","into","label","serialize","to_string","try_from","try_into","type_id","vzip","0","Dummy","Fingerprint","InputIndexOutOfRange","InvalidKey","InvalidNonWitnessUtxo","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","PkHash","Signer","SignerError","SignerId","SignerOrdering","SignersContainer","UserCanceled","add_external","as_key_map","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","descriptor_secret_key","drop","drop","drop","drop","eq","eq","eq","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","hash","id","ids","init","init","init","init","into","into","into","into","ne","ne","new","partial_cmp","partial_cmp","remove","sign","sign_whole_tx","signers","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","get_timestamp","Bip69Lexicographic","BumpFee","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","CreateTx","OnlyChange","Shuffle","TxBuilder","TxBuilderContext","TxOrdering","Untouched","add_foreign_utxo","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","coin_selection","default","default","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","do_not_spend_change","drain_wallet","drop","drop","drop","drop","drop","enable_rbf","enable_rbf_with_sequence","eq","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","fmt","fmt","fmt","fmt","fmt","force_non_witness_utxo","from","from","from","from","from","hash","hash","include_output_redeem_witness_script","init","init","init","init","init","into","into","into","into","into","maintain_single_recipient","manually_selected_only","nlocktime","only_spend_change","ordering","partial_cmp","partial_cmp","policy_path","set_recipients","set_single_recipient","sighash","sort_tx","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip"],"q":["bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::Error","","","","bdk::Utxo","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::electrum","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::esplora","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::checksum","bdk::descriptor::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::policy::Satisfaction","","","","","","","","","","","bdk::descriptor::policy::SatisfiableItem","","","","","","","","","","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::address_validator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::coin_selection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::export","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::time","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Error that can be returned to fail the validation of an …","BIP32 error","Branch and bound coin selection tries to avoid needing a …","Branch and bound coin selection possible attempts with …","Descriptor checksum mismatch","Compact filters client error)","Error related to the parsing and usage of descriptors","Electrum client error","Encoding error","Errors that can be thrown by the <code>Wallet</code>","Esplora client error","External","Fee rate","When bumping a tx the fee rate requested is lower than …","When bumping a tx the absolute fee requested is lower …","A UTXO owned by another wallet.","Generic error","Hex decoding error","Wallet’s UTXO set is not enough to cover recipient’s …","Internal, usually used for change outputs","Requested outpoint doesn’t exist in the tx (vout …","Error while extracting and manipulating policies","Progress value must be between <code>0.0</code> (included) and <code>100.0</code> …","Wrong number of bytes found when trying to convert to u32","Trying to replace a tx that has a sequence >= <code>0xFFFFFFFE</code>","Error serializing or deserializing JSON data","Error while working with <code>keys</code>","Types of keychains","A UTXO owned by the local wallet.","An unspent output owned by a <code>Wallet</code>.","Miniscript error","In order to use the <code>TxBuilder::add_global_xpubs</code> option …","Cannot build a tx without recipients","<code>manually_selected_only</code> option is selected but no utxo has …","Output created is under the dust limit, 546 satoshis","Progress update error (maybe the channel has been closed)","Partially signed bitcoin transaction error","This error is thrown when trying to convert Bare and …","An ECDSA error","Signing error","Found multiple outputs when <code>single_recipient</code> option has …","<code>single_recipient</code> option is selected but neither …","Sled database error","Spending policy is not compatible with this <code>KeychainKind</code>","Happens when trying to bump a transaction that is already …","A wallet transaction","Thrown when a tx is not found in the internal database","Happens when trying to spend an UTXO that is not in the …","An unspent transaction output (UTXO).","A [<code>Utxo</code>] with its <code>satisfaction_weight</code>.","Return [<code>KeychainKind</code>] as a byte","","Return the value as satoshi/vbyte","","Blockchain backends","","","","","","","","","","","","","","","","","","","","","","","","","","","","Database types","","","Create a new [<code>FeeRate</code>] with the default min relay fee …","","","","","","","","","","","","","","","Descriptors","Macro to write full descriptors with code","","","","","","","","","","","","","","","","","","","","Fee value (sats)","","","","","","","","","Macro to write descriptor fragments with code","","","","","","","","","","","","","","","","","","","","","","","","Create a new instance of [<code>FeeRate</code>] given a float fee rate …","Create a new instance of [<code>FeeRate</code>] given a float fee rate …","","Confirmed in block height, <code>None</code> means unconfirmed","","","","","","","","","","","","","","","","","","","Type of keychain","Key formats","","","","","","Get the location of the UTXO","Reference to a transaction output","","Received value (sats)","The weight of the witness data and <code>scriptSig</code> expressed in …","Sent value (sats)","","","","Timestamp","","","","","","","","Optional transaction","","","","","","","","","","","","","","","Transaction id","Get the <code>TxOut</code> of the UTXO","Transaction output","","","","","","","","The UTXO","Get the version of BDK at runtime","","","","","","","","Wallet","","Sats available for spending","Sats needed for some transaction","Required fee rate (satoshi/vbyte)","Required fee absolute value (satoshi)","The location of the output.","The information about the input we require to add it to a …","Can compute accurate fees for the transactions found …","Trait that defines the actions that must be supported by …","Capabilities that can be supported by a [<code>Blockchain</code>] …","Type that contains the configuration","Trait for [<code>Blockchain</code>] types that can be created given a …","Can recover the full history of a wallet and not only the …","Can fetch any historical transaction given its txid","Type that implements [<code>Progress</code>] and logs at level <code>INFO</code> …","Type that implements [<code>Progress</code>] and drops every update …","Trait for types that can receive and process progress …","Data sent with a progress update over a [<code>channel</code>]","Runtime-checked blockchain types","","","","","","","Broadcast a transaction","","","","","","","Compact Filters","","","","","","","","","","Electrum","","","Esplora","Estimate the fee rate required to confirm a transaction …","","","","","Create a new instance given a configuration","Return the set of [<code>Capability</code>] supported by this backend","Return the current height","Fetch a transaction from the blockchain given its txid","","","","","","","","Create a nwe instance of [<code>LogProgress</code>]","Create a new instance of [<code>NoopProgress</code>]","Shortcut to create a [<code>channel</code>] (pair of [<code>Sender</code>] and […","Setup the backend and populate the internal database for …","Populate the internal database with transactions and UTXOs","","","","","","","","","","","","","Send a new progress update","","","","","","Type that can contain any of the [<code>Blockchain</code>] types …","Type that can contain any of the blockchain …","Compact filters client","Compact filters client","Electrum client","Electrum client","Esplora client","Esplora client","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Invalid BIP158 filter","Data to connect to a Bitcoin P2P peer","Structure implementing the required blockchain traits","Configuration for a [<code>CompactFiltersBlockchain</code>]","An error that can occur during sync with a […","The data stored in the block filters storage are corrupted","Internal database error","Wrapper for [<code>crate::error::Error</code>]","The compact filter returned is invalid","The compact filter headers returned are invalid","The headers returned are invalid","A peer sent an invalid or unexpected response","Internal I/O error","Container for unconfirmed, but valid Bitcoin transactions","The peer is missing a block in the valid chain","No peers have been specified","A peer is not connected","A Bitcoin peer","The peer doesn’t advertise the <code>BLOOM</code> service flag","Internal system time error","A peer took too long to reply to one of our messages","Add a transaction to the mempool","Peer address such as 127.0.0.1:18333","","","","","","","","","","","","","","","","","","Connect to a peer over a plaintext TCP connection","Connect to a peer through a SOCKS5 proxy, optionally by …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the mempool used by this peer","Return the Bitcoin [<code>Network</code>] in use","Look-up a transaction in the mempool given an [<code>Inventory</code>] …","","Return the [<code>VersionMessage</code>] sent by the peer","Return whether or not the mempool contains a transaction …","","","","","","","","","","","","","Return whether or not the peer is still connected","Return the list of transactions contained in the mempool","","","Network used","Create a new empty mempool","Construct a new instance given a list of peers, a path to …","List of peers to try to connect to for asking headers and …","Waits for a specific incoming Bitcoin message, optionally …","Send a raw Bitcoin message to the peer","","","","Optionally skip initial <code>skip_blocks</code> blocks (default: 0)","Optional socks5 proxy","Optional socks5 proxy credentials","Storage dir to save partially downloaded headers and full …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Wrapper over an Electrum Client that implements the …","Configuration for an [<code>ElectrumBlockchain</code>]","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Request retry count","","","URL of the socks5 proxy server or a Tor service","Request timeout (seconds)","","","","","","","","URL of the Electrum server (such as ElectrumX, Esplora, …","","","Invalid Bitcoin data returned","Structure that implements the logic to sync with Esplora","Configuration for an [<code>EsploraBlockchain</code>]","Errors that can happen during a sync with […","Header hash not found","Header height not found","Invalid Hex data returned","Invalid number returned","Error with the HTTP call","Transaction not found","Base URL of the esplora service","","","","","","","","","","Number of parallel requests sent to the esplora service …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new instance of the client from a base URL","","","","","","","","","","","","","","","","","Container for the operations","Trait for a database that supports batch operations","Trait for operations that can be batched","Type that contains the configuration","Trait for [<code>Database</code>] types that can be created given a …","Trait for reading data from a database","Runtime-checked database types","Create a new batch container","Read and checks the descriptor checksum for a given …","Consume and apply a batch of operations","Delete the last derivation index for a keychain.","Delete the data related to a specific script_pubkey, …","Delete a raw transaction given its [<code>Txid</code>]","Delete a script_pubkey given the keychain and its child …","Delete the metadata of a transaction and optionally the …","Delete a [<code>LocalUtxo</code>] given its [<code>OutPoint</code>]","Create a new instance given a configuration","Return the last defivation index for a keychain.","Fetch the keychain and child number of a given …","Fetch a raw transaction given its [<code>Txid</code>]","Fetch a script_pubkey given the child number of a …","Fetch the transaction metadata and optionally also the …","Fetch a [<code>LocalUtxo</code>] given its [<code>OutPoint</code>]","Increment the last derivation index for a keychain and …","Return the list of raw transactions","Return the list of script_pubkeys","Return the list of transactions metadata","Return the list of [<code>LocalUtxo</code>]s","In-memory ephemeral database","Store the last derivation index for a given keychain.","Store a raw transaction","Store a script_pubkey along with its keychain and child …","Store the metadata of a transaction","Store a [<code>LocalUtxo</code>]","Type that contains any of the [<code>BatchDatabase::Batch</code>] …","Type that can contain any of the [<code>Database</code>] types defined …","Type that can contain any of the database configurations …","In-memory ephemeral database","In-memory ephemeral database","Memory database has no config","Simple key-value embedded database based on [<code>sled</code>]","Simple key-value embedded database based on [<code>sled</code>]","Simple key-value embedded database based on [<code>sled</code>]","Configuration type for a [<code>sled::Tree</code>] database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Main directory of the db","","","","","","","","","","","","","Name of the database tree, a separated namespace for the …","","","","","","","","","","","","","","","","","In-memory ephemeral database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new empty database","","","","","","","","","","A raw scriptpubkey (including pay-to-pubkey) under Legacy …","Alias for a [<code>Descriptor</code>] that contains extended <strong>derived</strong> …","Extended [<code>DescriptorPublicKey</code>] that has been derived","Script descriptor","Alias for a [<code>Descriptor</code>] that can contain extended keys …","Trait implemented on [<code>Descriptor</code>]s to add a method to …","Alias for the type of maps that represent derivation …","Trait for types which can be converted into an […","Alias type for a map of public key to secret key","Legacy ScriptContext To be used as P2SH scripts For …","Top-level script AST type","Pay-to-PubKey-Hash","The ScriptContext for Miniscript. Additional type …","Segwitv0 ScriptContext","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)","Pay-to-Witness-PubKey-Hash","Pay-to-Witness-ScriptHash with Segwitv0 context","Computes the Bitcoin address of the descriptor, if one …","","","Get a reference to the inner <code>AstElem</code> representing the …","","","","","","","","","","","Enumerates all child nodes of the current AST node (<code>self</code>) …","Depending on script Context, some of the Terminals might …","","","Depending on script Context, some of the script resource …","","Check the consensus + policy(if not disabled) rules that …","Consensus rules at the Miniscript satisfaction time. It …","","","Policy rules at the Miniscript satisfaction time. It is …","","","Check the consensus + policy(if not disabled) rules …","Depending on ScriptContext, fragments can be malleable. …","","","Check whether the given satisfaction is valid under the …","","","Descriptor checksum","","","","","","","","","","","","","","","","","","","","","","","","","","","Derives all wildcard keys in the descriptor using the …","Get the [DescriptorType] of [Descriptor]","","","","","","Encode as a Bitcoin script","","","","","","","","","","","Descriptor errors","Computes the “witness script” of the descriptor, i.e. …","Additional information helpful for extra analysis.","Extract the spending [<code>policy</code>]","","","","","","","","","","","","","","","","","","Add type information(Type and Extdata) to Miniscript …","","","Attempt to parse an insane(scripts don’t clear sanity …","Parse an expression tree into a descriptor","Parse an expression tree into a Miniscript. As a general …","Returns <code>Vec</code> with cloned version of all public keys from …","Returns <code>Vec</code> of [PkPkh] entries, representing either …","Returns <code>Vec</code> with hashes of all public keys from the …","Returns child node with given index, if any","Returns <code>Option::Some</code> with cloned n’th public key from …","Returns <code>Option::Some</code> with hash of n’th public key or …","Returns <code>Option::Some</code> with hash of n’th public key from …","Returns satisfying witness and scriptSig to spend an …","Whether the miniscript contains a combination of timelocks","Whether the miniscript has repeated Pk or Pkh","","","","","","","","","","","","","","","","Extracts the <code>AstElem</code> representing the root of the …","Convert to wallet descriptor","Whether or not the descriptor has any wildcards","Whether the miniscript is malleable","","Creates a new [Iter] iterator that will iterate over all […","Creates a new [PkIter] iterator that will iterate over …","Creates a new [PkPkhIter] iterator that will iterate over …","Creates a new [PkhIter] iterator that will iterate over …","","","Lifting corresponds conversion of miniscript into Policy […","Depending on script context, the size of a satifaction …","","","Maximum size, in bytes, of a satisfying witness. For …","Computes an upper bound on the weight of a satisfying …","Maximum number of witness elements used to satisfy the …","","Construct a new derived key","Create a new bare descriptor from witness script Errors …","Create a new pk descriptor","Create a new PkH descriptor","Create a new sh for a given redeem script Errors when …","Create a new sh sortedmulti descriptor with threshold <code>k</code> …","Create a new sh wrapped wpkh from <code>Pk</code>. Errors when …","Create a new sh wrapped wsh descriptor with witness script…","Create a new sh wrapped wsh sortedmulti descriptor from …","Create a new Wpkh descriptor Will return Err if …","Create a new wsh descriptor from witness script Errors …","Create a new wsh sorted multi descriptor Errors when …","A node in the Abstract Syntax Tree(","Other top level checks that are context specific","Attempt to parse a Script into Miniscript representation. …","Parse a descriptor that may contain secret keys","Attempt to parse an insane(scripts don’t clear sanity …","","","","","","Descriptor policy","Whether all spend paths of miniscript require a signature","Whether the descriptor is safe Checks whether all the …","Check whether the underlying Miniscript is safe under the …","Attempt to produce non-malleable satisfying witness for …","Attempt to produce a malleable satisfying witness for the …","Get the <code>scriptCode</code> of a transaction output.","Computes the scriptpubkey of the descriptor","Size, in bytes of the script-pubkey. If this Miniscript …","","Descriptor templates","","","","","","","","","","","Serialize a descriptor to string with its secret keys","Check top level consensus rules.","Check whether the top-level is type B","Convert a descriptor using abstract keys to one using …","This will panic if translatefpk returns an uncompressed …","","","","","","","","","","","The correctness and malleability type information for the …","","","","","","Computes the scriptSig that will be in place for an …","","","","","","Whether the miniscript can exceed the resource …","Compute the checksum of a descriptor","Error during base58 decoding","BIP32 error","The descriptor contains multiple keys with the same BIP32 …","Errors related to the parsing and usage of descriptors","The descriptor contains hardened derivation steps on …","Hex decoding error","Invalid character found in the descriptor checksum","The provided descriptor doesn’t match its checksum","Invalid HD Key path, such as having a wildcard but a …","Error thrown while working with <code>keys</code>","Miniscript error","Key-related error","Error while extracting and manipulating policies","","","","","","","","","","","","","","","","","","","","","","","Absolute timeclock timestamp","Can not add to an item that is [<code>Satisfaction::None</code>] or […","Can not add to an item that is […","Can satisfy the policy item","An extra condition that must be satisfied but that is out …","Type for a map of sets of [<code>Condition</code>] items keyed by each …","Type for a map of folded sets of [<code>Condition</code>] items keyed …","SHA256 then RIPEMD160 preimage hash","Double SHA256 preimage hash","Incompatible conditions (not currently used)","Index out of range for an item to satisfy a […","Can not merge CSV or timelock values unless both are less …","Multi-signature public keys with threshold count","Cannot satisfy or contribute to the policy item","Not enough items are selected to satisfy a […","Only a partial satisfaction of some kind of threshold …","Can reach the threshold of some kind of threshold policy","Raw public key or extended key fingerprint","Descriptor spending policy","Errors that can happen while extracting and manipulating …","Relative timelock locktime","RIPEMD160 preimage hash","Represent if and how much a policy item is satisfied by …","An item that needs to be satisfied","SHA256 preimage hash","Signature for a raw public key","Signature for an extended key fingerprint","Threshold items with threshold count","","","","","","","","","","","","","","","","","","","","","","","","How the wallet’s descriptor can satisfy this policy node","Optional CheckSequenceVerify condition","","","","","","","","","","","","","","","","","","","","","","","","","fill <code>self.satisfaction</code> with the signatures we already …","","","","","","","","","","","","","","","","Return the conditions that are set by the spending policy …","","Returns a unique id for the [<code>SatisfiableItem</code>]","Identifier for this policy node","","","","","","","","","","","","","Returns whether the [<code>SatisfiableItem</code>] is a leaf item","Returns whether the [<code>Satisfaction</code>] is a leaf item","Returns <code>true</code> if there are no extra conditions to verify","Type of this policy node","","","","Return whether or not a specific path in the policy tree …","How much a given PSBT already satisfies this policy node …","","","","","","Optional timelock condition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extra conditions that also need to be satisfied","Extra conditions that also need to be satisfied","Extra conditions that also need to be satisfied","The items that can be satisfied by the descriptor or are …","The items that can be satisfied by the descriptor","Threshold","Threshold","Total number of items","Total number of items","Whether the items are sorted in lexicographic order (used …","Whether the items are sorted in lexicographic order (used …","The digest value","The digest value","The digest value","The digest value","The policy items","The raw public key or extended key fingerprint","The required threshold count","The required threshold count","The timestamp value","The locktime value","","","","","","","","","","","","","","","","","","","BIP44 template. Expands to <code>pkh(key/44\'/0\'/0\'/{0,1}/*)</code>","BIP44 public template. Expands to <code>pkh(key/{0,1}/*)</code>","BIP49 template. Expands to <code>sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))</code>","BIP49 public template. Expands to <code>sh(wpkh(key/{0,1}/*))</code>","BIP84 template. Expands to <code>wpkh(key/84\'/0\'/0\'/{0,1}/*)</code>","BIP84 public template. Expands to <code>wpkh(key/{0,1}/*)</code>","Trait for descriptor templates that can be built into a …","Type alias for the return type of [<code>DescriptorTemplate</code>], …","P2PKH template. Expands to a descriptor <code>pkh(key)</code>","P2WPKH template. Expands to a descriptor <code>wpkh(key)</code>","P2WPKH-P2SH template. Expands to a descriptor …","","","","","","","","","","","","","","","","","","","Build the complete descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","BIP32 error","Trait for keys that can be derived.","Container for public or secret keys","The MiniscriptKey corresponding to Descriptors. This can …","A Secret Key that can be either a single key or an Xprv","A Single Descriptor Secret Key with optional origin …","A Single Descriptor Key with optional origin information","Type specifying the amount of entropy required e.g. …","Returned error in case of failure","Trait that adds extra useful methods to [<code>ScriptContext</code>]s","Enum for extended keys that can be either <code>xprv</code> or <code>xpub</code>","Trait that allows generating a key with the default …","Trait for keys that can be generated","Output of a [<code>GeneratableKey</code>] key generation","Trait for objects that can be turned into a public or …","The key has an invalid checksum","The key is not valid for the given network","The key cannot exist in the given script context","Errors thrown while working with <code>keys</code>","Alias type for a map of public key to secret key","Legacy scripts","Custom error message","Miniscript error","Extra options required by the <code>generate_with_entropy</code>","A private extended key, aka an <code>xprv</code>","Options for generating a [<code>PrivateKey</code>]","A public extended key, aka an <code>xpub</code>","The ScriptContext for Miniscript. Additional type …","Enum representation of the known valid [<code>ScriptContext</code>]s","Segwitv0 scripts","Single Secret Key","Single Public Key","Contents of a “sortedmulti” descriptor","Set of valid networks for a key","Xprv","Xpub","Create a set containing mainnet, testnet and regtest","Returns the [<code>ScriptContext</code>] as a [<code>ScriptContextEnum</code>]","Return the public version of this key, by applying either …","BIP-0039","","","","","","","","","","","","","","","","","","","","","","","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the script resource …","Depending on script Context, some of the script resource …","Check the consensus + policy(if not disabled) rules that …","Check the consensus + policy(if not disabled) rules that …","Consensus rules at the Miniscript satisfaction time. It …","Consensus rules at the Miniscript satisfaction time. It …","Policy rules at the Miniscript satisfaction time. It is …","Policy rules at the Miniscript satisfaction time. It is …","Check the consensus + policy(if not disabled) rules …","Check the consensus + policy(if not disabled) rules …","Depending on ScriptContext, fragments can be malleable. …","Check whether the given satisfaction is valid under the …","Check whether the given satisfaction is valid under the …","","","","","","","","","","","","","","Whether the generated key should be “compressed” or …","","","","","","","","","","","","","","","","","","","","","","","","","If this public key has a wildcard, replace it by the …","Computes the public key corresponding to this descriptor …","","","","","","","","","","","","Encode as a Bitcoin script","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create an instance given a public key and a set of valid …","Create an instance given a secret key and a set of valid …","","","Parse an expression tree into a SortedMultiVec","Full path, from the master key","Generate a key given the options with a random entropy","Generate a key with the default options and a random …","Generate a key given the extra options and the entropy","Generate a key with the default options and a given …","Return whether or not the key contains the private data","","","","","","","","","","","","","","","","","","","","","","","","","Turn the key into a [<code>DescriptorKey</code>] within the requested […","Consume <code>self</code> and turn it into a [<code>DescriptorKey</code>] by adding …","","","","","","Consume <code>self</code> and turn it into an [<code>ExtendedKey</code>]","","","Consumes <code>self</code> and returns the key","Transform the [<code>ExtendedKey</code>] into an <code>ExtendedPrivKey</code> for …","Transform the [<code>ExtendedKey</code>] into an <code>ExtendedPubKey</code> for the…","Whether or not the key has a wildcards","Returns whether the script context is <code>Legacy</code>","Returns whether the script context is […","Returns whether the script context is <code>Segwitv0</code>","Returns whether the script context is […","","signatures required","The key","The key","","Create a set only containing mainnet","The fingerprint of the master key associated with this key","Depending on script context, the size of a satifaction …","Maximum size, in bytes, of a satisfying witness. In …","Maximum number of witness elements used to satisfy the …","Compute the intersection of two sets","","","","Create a new instance of <code>SortedMultiVec</code> given a list of …","Origin information","Origin information","Other top level checks that are context specific","Other top level checks that are context specific","Override the computed set of valid networks","","","","public keys inside sorted Multi","utility function to sanity a sorted multi vec","Attempt to produce a satisfying witness for the witness …","Size, in bytes of the script-pubkey. If this Miniscript …","Create Terminal::Multi containing sorted pubkeys","Create a set containing testnet and regtest","","","","","","","","","","","Check top level consensus rules.","Check top level consensus rules.","Check whether the top-level is type B","Check whether the top-level is type B","This will panic if translatefpk returns an uncompressed …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The language determines which words will be used in a …","The primary type in this crate, most tasks require …","Determines the number of words that will be present in a …","Type for a BIP39 mnemonic with an optional passphrase","The secret value used to derive HD wallet addresses from …","","","","","","","Get the seed value as a byte slice","","","","","","","","","","","","","Return the number of checksum bits","","","","","","","","","","","","","","","","","","","","","","","","","Get the original entropy value of the mnemonic phrase as …","Return the number of entropy bits","","","","","","","","","","","","Get a <code>MnemonicType</code> for a mnemonic phrase representing the …","Get a <code>MnemonicType</code> for an existing mnemonic phrase","Get a <code>MnemonicType</code> for a mnemonic phrase with a specific …","","","","","Create a <code>Mnemonic</code> from pre-generated entropy","Construct a word list from its language code. Returns None…","Create a <code>Mnemonic</code> from an existing mnemonic phrase","","","","","","","","","","","","","","Consume the <code>Mnemonic</code> and return the phrase as a <code>String</code>.","Get the <code>Language</code>","Generates a new <code>Mnemonic</code>","Generates the seed from the <code>Mnemonic</code> and the password.","Get the mnemonic phrase as a string reference.","Outputs the hash in hexadecimal form","Outputs the hash in hexadecimal form","","","","","","","Return the number of entropy+checksum bits","","","","","","","","","","","","","Validate a mnemonic phrase","","","","","Return the number of words","Get the word list for this language","Get a [<code>WordMap</code>][WordMap] that allows word -> index …","","","","","The address index selection strategy to use to derived an …","Trait to check if a value is below the dust limit","Return the address for the current descriptor index if it …","Return a new address after incrementing the current …","Return the address for a specific descriptor index. Does …","Return the address for a specific descriptor index and …","A Bitcoin wallet","Add an address validator","Add an external signer","Address validation callbacks","","","","","Broadcast a transaction to the network","Bump the fee of a transaction previously created with …","Start building a transaction.","Return a reference to the internal blockchain client","Coin selection","","","","","","","Wallet export","Try to finalize a PSBT","","","","","Return a derived address using the external descriptor, …","Return the balance, meaning the sum of this wallet’s …","Returns the descriptor used to create adddresses for a …","get the corresponding PSBT Input for a LocalUtxo","Returns the <code>UTXO</code> owned by this wallet corresponding to …","","","","","Check whether or not a value is below dust limit","Return whether or not a <code>script</code> is part of this wallet …","Return the list of transactions made and received by the …","Return the list of unspent outputs of this wallet","Get the Bitcoin network the wallet is using.","Create a new “online” wallet","Create a new “offline” wallet","Return the spending policies for the wallet’s descriptor","Return the “public” version of the wallet’s …","Return the secp256k1 context used for all signing …","Sign a transaction with all the wallet’s signers, in …","Generalized signers","Sync the internal database with the blockchain","Cross-platform time","","","","","Transaction builder","","","","","Trait to build address validators","Errors that can be returned to fail the validation of an …","Network connection error","Invalid script","A custom error message","Network request timeout error","User rejected the address","","","","","","","","","","","","","","","","","","","","","Validate or inspect an address","","Branch and bound coin selection","Trait for generalized coin selection algorithms","Result of a successful coin selection","Default coin selection algorithm used by <code>TxBuilder</code> if not …","Simple and dumb coin selection","","","","","","","","","Perform the coin selection","","","","","","","","","","","","","","Total fee amount in satoshi","","","","","","","","","","","","","The total value of the inputs selected from the local …","Create new instance with target size for change output","List of outputs selected for use as inputs","The total value of the inputs selected.","","","","","","","","","","","","","","Structure that contains the export of a wallet","Earliest block to rescan when looking for the wallet’s …","","","Return the internal descriptor, if present","","","Return the external descriptor","","","Export a wallet","","","","","","Arbitrary label for the wallet","","","","","","","","Dummy identifier","The fingerprint of a BIP32 extended key","Input index is out of range","The private key in use has the right fingerprint but …","The <code>non_witness_utxo</code> specified is invalid","The fingerprint and derivation path are missing from the …","The private key is missing for the required public key","The <code>non_witness_utxo</code> field of the transaction is required …","The <code>witness_script</code> field of the transaction is requied to …","The <code>witness_utxo</code> field of the transaction is required to …","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …","Trait for signers","Signing error","Identifier of a signer in the <code>SignersContainers</code>. Used as …","Defines the order in which signers are called","Container for multiple signers","The user canceled the operation","Adds an external signer to the container for the …","Create a map of public keys to secret keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the secret key for the signer","","","","","","","","","","","Finds the signer with lowest ordering for a given id in …","","","","","","","","","","","","","","Return the [<code>SignerId</code>] for this signer","Returns the list of identifiers of all the signers in the …","","","","","","","","","","","Default constructor","","","Removes a signer from the container and returns it","Sign a PSBT","Return whether or not the signer signs the whole …","Returns the list of signers in the container, sorted by …","","","","","","","","","","","","","","","","","","","","","","Return the current timestamp in seconds","BIP69 / Lexicographic","Marker type to indicate the [<code>TxBuilder</code>] is being used to …","Use both change and non-change outputs (default)","Only use non-change outputs (see […","Policy regarding the use of change outputs when creating …","Marker type to indicate the [<code>TxBuilder</code>] is being used to …","Only use change outputs (see [<code>TxBuilder::only_spend_change</code>…","Randomized (default)","A transaction builder","Context in which the [<code>TxBuilder</code>] is valid","Ordering of the transaction’s inputs and outputs","Unchanged","Add a foreign UTXO i.e. a UTXO not owned by this wallet.","Fill-in the <code>PSBT_GLOBAL_XPUB</code> field with the extended keys …","Add a recipient to the internal list","Add a utxo to the internal list of unspendable utxos","Add a utxo to the internal list of utxos that <strong>must</strong> be …","Add the list of outpoints to the internal list of UTXOs …","","","","","","","","","","","Set a specific [<code>ChangeSpendPolicy</code>]. See […","","","","","","","","","","","","","Choose the coin selection algorithm","","","","","","","","","","","","","","","Do not spend change outputs","Spend all the available inputs. This respects filters …","","","","","","Enable signaling RBF","Enable signaling RBF with a specific nSequence value","","","","","Set an absolute fee","Set a custom fee rate","Finish the building the transaction.","","","","","","Fill-in the <code>psbt::Input::non_witness_utxo</code> field even if …","","","","","","","","Fill-in the <code>psbt::Output::redeem_script</code> and …","","","","","","","","","","","Bump the fees of a transaction made with …","Only spend utxos added by <code>add_utxo</code>.","Use a specific nLockTime while creating the transaction","Only spend change outputs","Choose the ordering for inputs and outputs of the …","","","Set the policy path to use while creating the transaction …","Replace the recipients already added with a new list","Set a single recipient that will get all the selected …","Sign with a specific sig hash","Sort transaction inputs and outputs by [<code>TxOrdering</code>] …","","","","","","","","","","","","","","","","","","","","","Replace the internal list of unspendable utxos with a new …","Build a transaction with a specific version","","","","",""],"i":[1,1,1,1,1,1,1,1,1,0,1,2,0,1,1,3,1,1,1,2,1,1,1,1,1,1,1,0,3,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,2,2,4,2,0,1,2,4,5,6,3,7,1,2,4,5,6,3,7,2,2,4,5,6,3,7,2,4,5,6,3,7,0,4,7,4,1,2,4,5,6,3,7,1,2,4,5,6,3,7,0,0,2,5,7,1,2,4,5,6,3,7,2,4,5,6,3,7,2,5,7,7,1,1,2,4,5,6,3,7,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,4,5,6,3,7,4,4,2,7,1,2,4,5,6,3,7,1,2,4,5,6,3,7,8,8,9,10,5,0,4,5,6,3,7,3,5,4,7,6,7,2,5,7,7,2,4,5,6,3,7,1,7,1,2,4,5,6,3,7,1,2,4,5,6,3,7,7,3,5,1,2,4,5,6,3,7,6,0,1,2,4,5,6,3,7,0,2,11,11,12,13,14,14,15,0,0,16,0,15,15,0,0,0,0,0,15,17,18,15,17,18,19,15,17,18,15,17,18,0,15,17,18,15,17,18,15,17,18,0,15,15,0,19,15,15,17,18,16,19,19,19,15,15,17,18,15,17,18,0,0,0,19,19,15,17,18,15,17,18,15,17,18,15,17,18,20,17,18,15,17,18,0,0,21,22,21,22,21,22,21,22,21,22,21,22,22,21,22,21,22,22,21,22,22,21,22,21,21,21,21,22,22,22,22,21,21,21,21,21,22,21,22,22,22,21,21,22,21,22,21,22,21,22,21,22,23,0,0,0,0,23,23,23,23,23,23,23,23,0,23,23,23,0,23,23,23,24,25,24,26,27,25,28,23,24,26,27,25,28,23,27,25,28,25,28,26,26,24,24,26,27,25,28,23,24,26,27,25,28,23,25,28,24,26,27,25,28,23,25,28,27,24,26,27,25,28,23,23,24,26,27,25,28,23,23,23,23,23,23,27,27,27,26,26,24,27,26,24,24,26,27,25,28,23,24,26,27,25,28,23,26,24,25,28,28,24,27,28,26,26,25,28,27,28,25,25,28,25,28,23,24,26,27,25,28,23,24,26,27,25,28,23,24,26,27,25,28,23,24,26,27,25,28,23,0,0,29,30,29,30,29,30,30,29,30,29,30,30,29,30,30,29,30,29,29,30,29,29,29,29,29,30,29,30,30,30,30,29,30,30,30,29,30,29,30,29,30,30,29,30,31,0,0,0,31,31,31,31,31,31,32,33,32,31,33,32,31,33,32,32,32,33,32,31,33,32,31,32,33,32,31,32,33,33,32,31,31,33,32,31,31,31,31,31,33,33,33,33,33,32,31,33,32,31,32,33,32,33,32,31,33,32,31,33,32,31,33,32,31,33,32,31,34,0,0,35,0,0,0,34,36,34,37,37,37,37,37,37,35,36,36,36,36,36,36,36,36,36,36,36,0,37,37,37,37,37,0,0,0,38,39,40,38,39,40,0,39,38,39,41,40,38,39,41,40,39,39,38,39,38,39,38,39,38,39,38,39,38,39,38,39,41,40,38,39,41,40,41,40,38,39,41,40,39,41,40,38,38,38,39,39,39,41,40,40,40,39,39,39,39,39,39,39,39,38,39,41,40,38,39,41,40,39,39,39,39,41,41,40,38,39,38,39,38,39,38,39,38,39,41,38,39,41,40,38,39,41,40,38,39,41,40,38,39,41,40,0,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,43,0,0,0,0,0,0,0,0,0,0,43,0,0,43,43,43,43,44,45,46,47,43,44,45,46,47,43,44,45,46,46,48,44,45,48,45,48,48,44,45,48,44,45,48,48,44,45,48,44,45,0,47,43,44,45,46,47,43,44,45,46,47,43,44,45,46,47,47,43,44,45,46,47,43,44,45,46,43,43,47,43,44,45,46,46,47,43,44,45,46,47,43,44,45,46,0,43,46,49,43,46,47,47,43,43,44,45,46,46,43,46,47,43,44,45,46,46,43,46,46,43,46,46,46,46,46,46,46,46,43,46,46,47,44,45,46,47,47,43,44,45,46,47,43,44,45,46,46,50,43,46,47,46,46,46,46,43,46,46,48,44,45,46,43,46,43,47,43,43,43,43,43,43,43,43,43,43,43,46,48,46,43,46,47,43,44,45,46,0,46,43,46,46,46,43,43,46,47,0,47,43,44,45,46,47,47,47,43,46,43,48,48,43,46,47,43,44,45,46,47,43,44,45,46,46,47,43,44,45,46,43,47,43,44,45,46,46,0,51,51,51,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,52,53,53,54,0,0,0,52,52,53,53,53,52,54,53,54,54,0,0,0,52,52,0,0,52,52,52,52,55,52,54,56,57,53,55,52,54,56,57,53,55,52,54,56,57,55,52,54,56,57,57,56,57,55,57,55,52,54,56,57,53,55,52,54,56,57,53,55,52,54,56,57,53,57,53,57,53,56,55,52,54,56,57,53,53,55,52,54,54,56,56,57,53,56,57,52,56,55,52,54,56,57,53,55,52,54,56,57,53,52,54,57,56,57,53,57,56,56,55,52,54,56,57,57,55,52,54,56,57,53,55,52,54,56,57,53,55,52,54,56,57,53,55,52,54,56,57,53,55,52,54,56,57,53,58,59,60,59,60,59,60,59,60,59,60,61,62,63,64,65,66,66,65,67,68,69,70,71,72,73,74,75,76,77,72,73,74,75,76,77,73,75,77,0,0,0,0,0,0,0,0,0,0,0,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,78,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,69,70,71,72,73,74,75,76,77,79,0,0,0,0,0,0,80,80,0,0,0,0,0,0,79,79,79,0,0,81,79,79,80,82,0,82,0,0,81,83,84,0,0,83,84,0,85,83,0,82,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,81,88,89,84,90,81,88,89,84,90,89,84,90,88,88,82,86,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,84,84,82,86,87,81,88,79,89,84,90,91,83,89,81,89,84,90,81,89,84,90,87,81,88,79,79,89,89,84,84,90,91,83,83,89,82,82,82,86,87,81,88,79,79,79,89,84,90,91,83,87,87,84,83,89,84,80,92,80,92,82,84,90,82,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,93,94,86,86,87,84,83,94,82,86,86,82,82,84,85,81,85,81,84,89,90,91,89,0,84,48,89,89,0,89,84,90,89,90,91,48,48,87,89,84,90,89,89,89,89,89,0,81,88,89,84,90,84,79,89,84,83,48,48,48,48,89,82,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,82,86,87,81,88,79,89,84,90,91,83,95,95,95,95,95,95,95,0,0,0,0,0,95,96,96,96,96,96,97,98,97,97,95,98,96,97,95,98,96,97,97,96,95,98,96,97,95,98,96,97,95,96,95,98,96,97,95,98,96,97,95,98,98,96,97,97,98,96,95,95,98,98,98,98,96,96,97,97,97,96,96,96,95,98,96,97,98,95,98,98,95,98,96,97,95,98,96,97,98,97,98,97,98,98,98,97,98,98,97,95,98,96,97,98,96,96,95,98,96,97,95,98,96,97,95,98,96,97,98,95,98,96,97,96,95,95,97,95,98,97,0,0,99,99,99,99,0,100,100,0,100,99,100,99,100,100,100,100,0,100,99,100,99,100,99,0,100,100,99,100,99,100,100,100,100,100,100,99,100,99,101,100,100,100,100,100,100,100,100,100,100,0,100,0,100,99,100,99,0,100,99,100,99,0,0,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,103,102,0,0,0,0,0,104,105,106,104,105,106,105,105,107,105,106,105,106,104,105,106,104,105,106,104,105,106,104,104,105,106,104,105,106,104,105,106,104,105,106,104,106,104,104,105,104,105,106,104,105,106,104,105,106,104,105,106,0,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,109,110,110,111,111,111,111,111,111,111,111,110,0,0,0,0,0,111,112,112,110,111,109,112,110,111,109,112,110,111,109,112,110,111,109,112,110,109,109,112,110,111,109,112,110,111,109,112,113,110,111,109,112,110,111,109,110,111,109,112,110,111,111,109,112,110,110,110,111,109,112,112,110,113,112,110,111,109,112,110,111,109,112,110,109,112,110,109,112,113,113,112,110,111,109,112,111,110,111,109,112,110,111,109,112,110,111,109,112,110,111,109,112,0,114,0,115,115,0,0,115,114,0,0,0,114,116,116,116,116,116,116,117,118,116,114,115,117,118,116,114,115,116,117,118,116,114,115,117,118,116,114,115,114,115,116,117,118,114,115,117,118,116,114,115,117,118,116,114,115,116,116,117,118,116,114,115,116,116,114,115,114,115,116,116,116,117,118,116,114,115,116,117,118,116,114,115,114,115,116,117,118,116,114,115,117,118,116,114,115,116,116,116,116,116,114,115,116,116,116,116,114,117,118,116,114,115,117,118,116,114,115,117,118,116,114,115,117,118,116,114,115,116,116,117,118,116,114,115],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["u8",15]],[[]],[[],["f32",15]],[[],["usize",15]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4],["vec",3]]],[[],["keychainkind",4]],[[],["feerate",3]],[[],["localutxo",3]],[[],["weightedutxo",3]],[[],["utxo",4]],[[],["transactiondetails",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[]],[[],["transactiondetails",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["keychainkind",4]],["bool",15]],[[["feerate",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["utxo",4]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],null,[[["error",4]]],[[]],[[["esploraerror",4]]],[[["error",3]]],[[["error",4]]],[[["error",4]]],[[["compactfilterserror",4]]],[[["error",4]]],[[["addressvalidatorerror",4]]],[[["error",4]]],[[["policyerror",4]]],[[["error",4]]],[[["signererror",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["keyerror",4]],["error",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[["f32",15]]],[[["f32",15]]],[[]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4],["keysource",6],["derivationpath",3]],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],null,null,[[["feerate",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["utxo",4]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[],["outpoint",3]],null,[[["feerate",3]],[["ordering",4],["option",4]]],null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["string",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[],["txout",3]],null,[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,[[],["str",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["transaction",3]],[["error",4],["result",4]]],[[],["capability",4]],[[],["noopprogress",3]],[[],["logprogress",3]],[[]],[[]],[[]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,[[["capability",4]],["bool",15]],[[],["bool",15]],null,[[["usize",15]],[["feerate",3],["error",4],["result",4]]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],[["result",4],["error",4]]],[[],[["hashset",3],["capability",4]]],[[],[["u32",15],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[],["logprogress",3]],[[],["noopprogress",3]],[[]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["string",3],["option",4],["f32",15]],[["error",4],["result",4]]],[[["string",3],["option",4],["f32",15]],[["error",4],["result",4]]],[[["string",3],["option",4],["f32",15]],[["error",4],["result",4]]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["transaction",3]],[["error",4],["result",4]]],[[],["anyblockchainconfig",4]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["anyblockchainconfig",4]],["bool",15]],[[["usize",15]],[["feerate",3],["error",4],["result",4]]],[[["formatter",3]],["result",6]],[[["electrumblockchain",3]]],[[["compactfiltersblockchain",3]]],[[]],[[["esplorablockchain",3]]],[[["electrumblockchainconfig",3]]],[[["esplorablockchainconfig",3]]],[[["compactfiltersblockchainconfig",3]]],[[]],[[],[["result",4],["error",4]]],[[],[["hashset",3],["capability",4]]],[[],[["u32",15],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["anyblockchainconfig",4]],["bool",15]],[[],["result",4]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["transaction",3]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["transaction",3]],[["error",4],["result",4]]],[[],["bitcoinpeerconfig",3]],[[],["compactfiltersblockchainconfig",3]],[[]],[[]],[[["network",4],["tosocketaddrs",8],["arc",3],["mempool",3]],[["compactfilterserror",4],["result",4]]],[[["mempool",3],["network",4],["tosocketaddrs",8],["arc",3],["option",4],["totargetaddr",8]],[["compactfilterserror",4],["result",4]]],[[],["mempool",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["bitcoinpeerconfig",3]],["bool",15]],[[["compactfiltersblockchainconfig",3]],["bool",15]],[[["usize",15]],[["feerate",3],["error",4],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["error",4]]],[[["systemtimeerror",3]]],[[["error",4]]],[[]],[[["error",3]]],[[["error",3]]],[[],[["result",4],["error",4]]],[[],[["hashset",3],["capability",4]]],[[],[["u32",15],["error",4],["result",4]]],[[],[["arc",3],["mempool",3]]],[[],["network",4]],[[["inventory",4]],[["option",4],["transaction",3]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[],["versionmessage",3]],[[["txid",3]],["bool",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],[["transaction",3],["vec",3]]],[[["bitcoinpeerconfig",3]],["bool",15]],[[["compactfiltersblockchainconfig",3]],["bool",15]],null,[[]],[[["usize",15],["asref",8],["peer",3],["path",3],["option",4],["vec",3]],[["compactfilterserror",4],["result",4]]],null,[[["option",4],["str",15],["duration",3]],[["compactfilterserror",4],["option",4],["result",4]]],[[["networkmessage",4]],[["result",4],["compactfilterserror",4]]],[[],["result",4]],[[],["result",4]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],null,null,null,null,[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],[[]],[[["transaction",3]],[["error",4],["result",4]]],[[],["electrumblockchainconfig",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["electrumblockchainconfig",3]],["bool",15]],[[["usize",15]],[["feerate",3],["error",4],["result",4]]],[[["formatter",3]],["result",6]],[[]],[[["client",3]]],[[]],[[],[["result",4],["error",4]]],[[],[["hashset",3],["capability",4]]],[[],[["u32",15],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["electrumblockchainconfig",3]],["bool",15]],null,[[],["result",4]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],null,null,[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],null,[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["transaction",3]],[["error",4],["result",4]]],[[],["esplorablockchainconfig",3]],[[]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["esplorablockchainconfig",3]],["bool",15]],[[["usize",15]],[["feerate",3],["error",4],["result",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["error",3]]],[[["parseinterror",3]]],[[["error",4]]],[[]],[[["error",4]]],[[],[["result",4],["error",4]]],[[],[["hashset",3],["capability",4]]],[[],[["u32",15],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[["esplorablockchainconfig",3]],["bool",15]],[[["option",4],["u8",15],["str",15]]],[[],["result",4]],[[["usize",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[]],[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[],[["result",4],["error",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["option",4],["keychainkind",4]],[["error",4],["result",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],null,[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["u32",15],["script",3],["keychainkind",4]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["memorydatabase",3]]],[[]],[[["tree",3]]],[[]],[[]],[[["sleddbconfiguration",3]]],[[]],[[],[["result",4],["error",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[],[["vec",3],["error",4],["result",4]]],[[["option",4],["keychainkind",4]],[["error",4],["result",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],null,[[],["result",4]],[[],["result",4]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["u32",15],["script",3],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["script",3],["keychainkind",4]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],null,[[]],[[]],[[]],[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[],[["error",4],["result",4]]],[[],["memorydatabase",3]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[]],[[],[["result",4],["error",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]],[[],["usize",15]],[[]],[[],[["vec",3],["error",4],["result",4]]],[[["option",4],["keychainkind",4]],[["error",4],["result",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],[[]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["u32",15],["script",3],["keychainkind",4]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["network",4]],[["result",4],["address",3],["error",4]]],[[],["scriptcontextenum",4]],[[],["scriptcontextenum",4]],[[],["terminal",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["vec",3],["miniscript",3],["global",3]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],null,[[],["deriveddescriptorkey",3]],[[],["descriptor",4]],[[],["legacy",4]],[[],["segwitv0",4]],[[],["miniscript",3]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[["descriptor",4]],["ordering",4]],[[["legacy",4]],["ordering",4]],[[["segwitv0",4]],["ordering",4]],[[["miniscript",3]],["ordering",4]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],[["descriptorpublickey",4],["descriptor",4]]],[[],["descriptortype",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["script",3]],[[],["bool",15]],[[["descriptor",4]],["bool",15]],[[["legacy",4]],["bool",15]],[[["segwitv0",4]],["bool",15]],[[["miniscript",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,[[],["script",3]],null,[[["secp256k1",3],["signerscontainer",3]],[["option",4],["descriptorerror",4],["result",4]]],[[["secp256k1",3],["signerscontainer",3]],[["option",4],["result",4],["error",4]]],[[["secp256k1",3],["signerscontainer",3]],[["option",4],["result",4],["error",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[["terminal",4]],[["error",4],["result",4],["miniscript",3]]],[[["str",15]],[["result",4],["descriptor",4],["error",4]]],[[["str",15]],[["error",4],["result",4],["miniscript",3]]],[[["str",15]],[["error",4],["result",4],["miniscript",3]]],[[["tree",3]],[["result",4],["descriptor",4],["error",4]]],[[["tree",3]],[["error",4],["result",4],["miniscript",3]]],[[],[["global",3],["vec",3]]],[[],[["vec",3],["global",3],["pkpkh",4]]],[[],[["global",3],["vec",3]]],[[["usize",15]],[["miniscript",3],["option",4]]],[[["usize",15]],["option",4]],[[["usize",15]],[["option",4],["pkpkh",4]]],[[["usize",15]],["option",4]],[[],[["error",4],["result",4]]],[[],["bool",15]],[[],["bool",15]],[[]],[[]],[[]],[[]],[[],["hash",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[],["terminal",4]],[[["network",4],["secp256k1",3]],[["result",4],["descriptorerror",4]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["iter",3]],[[],["pkiter",3]],[[],["pkpkhiter",3]],[[],["pkhiter",3]],[[],[["result",4],["policy",4],["error",4]]],[[],[["result",4],["policy",4],["error",4]]],[[],[["lifterror",4],["result",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[],[["usize",15],["error",4],["result",4]]],[[],[["usize",15],["error",4],["result",4]]],[[],[["usize",15],["error",4],["result",4]]],[[["descriptor",4]],["bool",15]],[[["descriptorpublickey",4],["secp256k1",3]],["deriveddescriptorkey",3]],[[["miniscript",3],["barectx",4]],[["result",4],["descriptor",4],["error",4]]],[[],["descriptor",4]],[[],["descriptor",4]],[[["miniscript",3],["legacy",4]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["result",4],["descriptor",4],["error",4]]],[[],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["result",4],["descriptor",4],["error",4]]],[[],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["global",3],["vec",3]],[["result",4],["descriptor",4],["error",4]]],null,[[["miniscript",3]],[["result",4],["error",4]]],[[["script",3]],[["error",4],["miniscript",3],["result",4]]],[[["secp256k1",3],["str",15]],[["result",4],["error",4]]],[[["script",3]],[["error",4],["miniscript",3],["result",4]]],[[],[["ordering",4],["option",4]]],[[["descriptor",4]],[["option",4],["ordering",4]]],[[["legacy",4]],[["option",4],["ordering",4]]],[[["segwitv0",4]],[["option",4],["ordering",4]]],[[["miniscript",3]],[["option",4],["ordering",4]]],null,[[],["bool",15]],[[],[["result",4],["error",4]]],[[],[["result",4],["analysiserror",4]]],[[],[["error",4],["result",4],["vec",3]]],[[],[["error",4],["result",4],["vec",3]]],[[],["script",3]],[[],["script",3]],[[],["usize",15]],[[],["usize",15]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["publickey",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[["hashmap",3]],["string",3]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[],[["result",4],["descriptor",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["script",3]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["str",15]],[["result",4],["string",3],["descriptorerror",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["error",4]]],[[["error",4]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["policyerror",4]]],[[]],[[["error",4]]],[[],["usize",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["pkorf",3]],[[],["satisfiableitem",4]],[[],["satisfaction",4]],[[],["policy",3]],[[],["condition",3]],[[]],[[]],[[]],[[]],[[]],[[["condition",3]],["ordering",4]],null,null,[[],["pkorf",3]],[[],["condition",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["condition",3]],["bool",15]],[[["policyerror",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["secp256k1",3],["psbt",3],["extendeddescriptor",6]],[["result",4],["error",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["bool",15]]],[[]],[[["satisfiableitem",4]]],[[]],[[]],[[["btreemap",3]],[["result",4],["condition",3],["policyerror",4]]],[[]],[[],["string",3]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,[[["condition",3]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["condition",3]],[["ordering",4],["option",4]]],[[],["bool",15]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[["network",4],["secp256k1",3]],[["error",4],["result",4]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["validnetworks",6]],[[],["scriptcontextenum",4]],[[["secp256k1",3]],[["result",4],["descriptorpublickey",4],["descriptorkeyparseerror",3]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[],["scriptcontextenum",4]],[[],["privatekeygenerateoptions",3]],[[],["sortedmultivec",3]],[[],["descriptorpublickey",4]],[[],["descriptorsinglepub",3]],[[]],[[]],[[]],[[]],[[]],[[["sortedmultivec",3]],["ordering",4]],[[["descriptorpublickey",4]],["ordering",4]],[[["descriptorsinglepub",3]],["ordering",4]],null,[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["descriptorpublickey",4]],[[["secp256k1",3]],[["publickey",3],["conversionerror",4],["result",4]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["script",3]],[[["scriptcontextenum",4]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["bool",15]],[[["extendedprivkey",3]]],[[["extendedpubkey",3]]],[[]],[[]],[[]],[[]],[[]],[[["error",4]]],[[["error",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["descriptorpublickey",4],["validnetworks",6]]],[[["descriptorsecretkey",4],["validnetworks",6]]],[[["str",15]],[["descriptorpublickey",4],["result",4]]],[[["str",15]],[["result",4],["descriptorsecretkey",4]]],[[["tree",3]],[["error",4],["result",4],["sortedmultivec",3]]],[[],["derivationpath",3]],[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],[[],["bool",15]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["descriptorkey",4],["keyerror",4],["result",4]]],[[["option",4],["keysource",6],["derivationpath",3]],[["descriptorkey",4],["keyerror",4],["result",4]]],[[["option",4],["keysource",6],["derivationpath",3]],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[]],[[["network",4]],[["option",4],["extendedprivkey",3]]],[[["network",4],["secp256k1",3]],["extendedpubkey",3]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],null,null,null,[[],[["result",4],["policy",4],["error",4]]],[[],["validnetworks",6]],[[],["fingerprint",3]],[[["miniscript",3]],[["usize",15],["option",4]]],[[],["usize",15]],[[],["usize",15]],[[["validnetworks",6]],["validnetworks",6]],[[["sortedmultivec",3]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["usize",15],["global",3],["vec",3]],[["error",4],["result",4],["sortedmultivec",3]]],null,null,[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["validnetworks",6]]],[[["sortedmultivec",3]],[["option",4],["ordering",4]]],[[["descriptorpublickey",4]],[["option",4],["ordering",4]]],[[["descriptorsinglepub",3]],[["option",4],["ordering",4]]],null,[[],[["result",4],["error",4]]],[[],[["error",4],["result",4],["vec",3]]],[[],["usize",15]],[[],["terminal",4]],[[],["validnetworks",6]],[[]],[[]],[[]],[[]],[[]],[[],["descriptorpublickey",4]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[],[["result",4],["sortedmultivec",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[],["str",15]],[[]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4],["vec",3]]],[[],["u8",15]],[[],["language",4]],[[],["mnemonic",3]],[[],["mnemonictype",4]],[[],["seed",3]],[[]],[[]],[[]],[[]],[[],["language",4]],[[],["mnemonictype",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[]],[[],["usize",15]],[[["language",4]],["bool",15]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]],[[["str",15]],[["result",4],["error",3],["mnemonictype",4]]],[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]],[[]],[[]],[[]],[[]],[[["language",4]],[["mnemonic",3],["error",3],["result",4]]],[[["str",15]],[["option",4],["language",4]]],[[["language",4],["str",15]],[["mnemonic",3],["error",3],["result",4]]],[[],[["result",4],["generatedkey",3]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[["option",4],["keysource",6],["derivationpath",3]],[["descriptorkey",4],["keyerror",4],["result",4]]],[[["option",4],["keysource",6],["derivationpath",3]],[["descriptorkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[],["string",3]],[[],["language",4]],[[["mnemonictype",4],["language",4]],["mnemonic",3]],[[["mnemonic",3],["str",15]],["seed",3]],[[],["str",15]],[[],["string",3]],[[],["string",3]],[[]],[[]],[[]],[[]],[[],["string",3]],[[],["string",3]],[[],["usize",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["language",4],["str",15]],[["error",3],["result",4]]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["wordlist",3]],[[],["wordmap",3]],[[],["result",4]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[["arc",3],["addressvalidator",8]]],[[["signerordering",3],["signer",8],["arc",3],["keychainkind",4]]],null,[[]],[[]],[[]],[[]],[[["transaction",3]],[["result",4],["error",4],["txid",3]]],[[["txid",3]],[["txbuilder",3],["result",4],["error",4]]],[[],[["createtx",3],["txbuilder",3],["defaultcoinselectionalgorithm",6]]],[[]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["addressindex",4]],[["address",3],["result",4],["error",4]]],[[],[["error",4],["result",4],["u64",15]]],[[["keychainkind",4]],["extendeddescriptor",6]],[[["localutxo",3],["bool",15],["option",4],["sighashtype",4]],[["result",4],["error",4],["input",3]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["bool",15]],[[["script",3]],[["bool",15],["error",4],["result",4]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],[[],["network",4]],[[["network",4],["intowalletdescriptor",8],["option",4]],[["result",4],["error",4]]],[[["network",4],["intowalletdescriptor",8],["option",4]],[["result",4],["error",4]]],[[["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[],["secp256k1",3]],[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],null,[[["u32",15],["progress",8],["option",4]],[["error",4],["result",4]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,[[]],[[]],[[],["addressvalidatorerror",4]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["addressvalidatorerror",4]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[],["usize",15]],[[]],[[["addressvalidatorerror",4]],["bool",15]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["hdkeypaths",6],["script",3],["keychainkind",4]],[["addressvalidatorerror",4],["result",4]]],[[]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[],["largestfirstcoinselection",3]],[[]],[[["vec",3],["feerate",3],["f32",15],["u64",15],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],[[["vec",3],["feerate",3],["f32",15],["u64",15],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],[[["vec",3],["feerate",3],["f32",15],["u64",15],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],[[],["largestfirstcoinselection",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[],["u64",15]],[[["u64",15]]],null,[[],["u64",15]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,[[]],[[]],[[],[["string",3],["option",4]]],[[["usize",15]]],[[["usize",15]]],[[],["string",3]],[[],["result",4]],[[["usize",15]]],[[["bool",15],["wallet",3],["str",15]],[["str",15],["result",4]]],[[["formatter",3]],["result",6]],[[]],[[["str",15]],["result",4]],[[],["usize",15]],[[]],null,[[],["result",4]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["signerordering",3],["signer",8],["arc",3],["signerid",4]],[["arc",3],["option",4]]],[[["secp256k1",3]],["keymap",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["signerid",4]],[[],["signererror",4]],[[],["signerordering",3]],[[],["signerscontainer",3]],[[]],[[]],[[]],[[]],[[["signerid",4]],["ordering",4]],[[["signerordering",3]],["ordering",4]],[[]],[[],["signerscontainer",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],[["descriptorsecretkey",4],["option",4]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["signerid",4]],["bool",15]],[[["signererror",4]],["bool",15]],[[["signerordering",3]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["signerid",4]],[["option",4],["arc",3]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["hash",3]],["signerid",4]],[[["fingerprint",3]],["signerid",4]],[[]],[[]],[[["keymap",6]],["signerscontainer",3]],[[]],[[]],[[["secp256k1",3]],["signerid",4]],[[],[["signerid",4],["vec",3]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[["signerid",4]],["bool",15]],[[["signerordering",3]],["bool",15]],[[]],[[["signerid",4]],[["ordering",4],["option",4]]],[[["signerordering",3]],[["ordering",4],["option",4]]],[[["signerid",4],["signerordering",3]],[["arc",3],["option",4]]],[[["partiallysignedtransaction",3],["usize",15],["secp256k1",3],["option",4]],[["signererror",4],["result",4]]],[[],["bool",15]],[[],[["vec",3],["arc",3]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],["u64",15]],null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["outpoint",3],["input",3]],[["result",4],["error",4]]],[[]],[[["script",3],["u64",15]]],[[["outpoint",3]]],[[["outpoint",3]],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["changespendpolicy",4]]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[],["txordering",4]],[[],["changespendpolicy",4]],[[]],[[]],[[]],[[]],[[]],[[["txordering",4]],["ordering",4]],[[["changespendpolicy",4]],["ordering",4]],[[["coinselectionalgorithm",8]],[["txbuilder",3],["coinselectionalgorithm",8]]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["u32",15]]],[[["txordering",4]],["bool",15]],[[["changespendpolicy",4]],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[["u64",15]]],[[["feerate",3]]],[[],[["result",4],["error",4]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[],[["result",4],["error",4]]],[[]],[[["u32",15]]],[[]],[[["txordering",4]]],[[["txordering",4]],[["ordering",4],["option",4]]],[[["changespendpolicy",4]],[["ordering",4],["option",4]]],[[["string",3],["btreemap",3],["vec",3],["keychainkind",4]]],[[["vec",3]]],[[["script",3]]],[[["sighashtype",4]]],[[["transaction",3]]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["outpoint",3],["vec",3]]],[[["i32",15]]],[[]],[[]],[[]],[[]],[[]]],"p":[[4,"Error"],[4,"KeychainKind"],[4,"Utxo"],[3,"FeeRate"],[3,"LocalUtxo"],[3,"WeightedUtxo"],[3,"TransactionDetails"],[6,"MnemonicWithPassphrase"],[6,"DescriptorTemplateOut"],[6,"ExtendedDescriptor"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[13,"Foreign"],[4,"Capability"],[8,"ConfigurableBlockchain"],[3,"NoopProgress"],[3,"LogProgress"],[8,"Blockchain"],[8,"Progress"],[4,"AnyBlockchain"],[4,"AnyBlockchainConfig"],[4,"CompactFiltersError"],[3,"Mempool"],[3,"BitcoinPeerConfig"],[3,"Peer"],[3,"CompactFiltersBlockchain"],[3,"CompactFiltersBlockchainConfig"],[3,"ElectrumBlockchain"],[3,"ElectrumBlockchainConfig"],[4,"EsploraError"],[3,"EsploraBlockchainConfig"],[3,"EsploraBlockchain"],[8,"BatchDatabase"],[8,"ConfigurableDatabase"],[8,"Database"],[8,"BatchOperations"],[4,"AnyBatch"],[4,"AnyDatabase"],[4,"AnyDatabaseConfig"],[3,"SledDbConfiguration"],[3,"MemoryDatabase"],[4,"Descriptor"],[4,"Legacy"],[4,"Segwitv0"],[3,"Miniscript"],[3,"DerivedDescriptorKey"],[8,"ScriptContext"],[8,"ExtractPolicy"],[8,"IntoWalletDescriptor"],[4,"Error"],[4,"SatisfiableItem"],[4,"PolicyError"],[4,"Satisfaction"],[3,"PkOrF"],[3,"Policy"],[3,"Condition"],[13,"Complete"],[13,"Partial"],[13,"PartialComplete"],[13,"Sha256Preimage"],[13,"Hash256Preimage"],[13,"Ripemd160Preimage"],[13,"Hash160Preimage"],[13,"Thresh"],[13,"Multisig"],[13,"AbsoluteTimelock"],[13,"RelativeTimelock"],[3,"P2Pkh"],[3,"P2Wpkh_P2Sh"],[3,"P2Wpkh"],[3,"Bip44"],[3,"Bip44Public"],[3,"Bip49"],[3,"Bip49Public"],[3,"Bip84"],[3,"Bip84Public"],[8,"DescriptorTemplate"],[4,"KeyError"],[8,"GeneratableKey"],[4,"ScriptContextEnum"],[4,"ExtendedKey"],[4,"DescriptorSecretKey"],[4,"DescriptorPublicKey"],[8,"ExtScriptContext"],[3,"GeneratedKey"],[4,"DescriptorKey"],[3,"PrivateKeyGenerateOptions"],[3,"SortedMultiVec"],[3,"DescriptorSinglePub"],[3,"DescriptorSinglePriv"],[8,"GeneratableDefaultOptions"],[8,"IntoDescriptorKey"],[8,"DerivableKey"],[4,"Language"],[4,"MnemonicType"],[3,"Seed"],[3,"Mnemonic"],[4,"AddressIndex"],[3,"Wallet"],[8,"IsDust"],[4,"AddressValidatorError"],[8,"AddressValidator"],[3,"CoinSelectionResult"],[3,"LargestFirstCoinSelection"],[3,"BranchAndBoundCoinSelection"],[8,"CoinSelectionAlgorithm"],[3,"WalletExport"],[3,"SignerOrdering"],[4,"SignerId"],[4,"SignerError"],[3,"SignersContainer"],[8,"Signer"],[4,"TxOrdering"],[4,"ChangeSpendPolicy"],[3,"TxBuilder"],[3,"CreateTx"],[3,"BumpFee"]]}\
}');
initSearch(searchIndex);
\ No newline at end of file
<!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="Settings of Rustdoc"><meta name="keywords" content="rust, rustlang, rust-lang"><title>Rustdoc settings</title><link rel="stylesheet" type="text/css" href="./normalize.css"><link rel="stylesheet" type="text/css" href="./rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="./light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="./dark.css" disabled ><link rel="stylesheet" type="text/css" href="./ayu.css" disabled ><link rel="stylesheet" type="text/css" href="./settings.css" ><script id="default-settings"></script><script src="./storage.js"></script><script src="./crates.js"></script><noscript><link rel="stylesheet" href="./noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="./favicon.svg">
<link rel="alternate icon" type="image/png" href="./favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="./favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("./down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='./bdk/index.html'><div class='logo-container rust-logo'><img src='./rust-logo.png' alt='logo'></div></a><p class="location">Settings</p><div class="sidebar-elems"></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="./brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="./theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="./favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("./down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='./bdk/index.html'><div class='logo-container rust-logo'><img src='./rust-logo.png' alt='logo'></div></a><p class="location">Settings</p><div class="sidebar-elems"></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="./brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="./settings.html"><img src="./wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Rustdoc settings</span></h1><div class="settings"><div class="setting-line"><div class="title">Theme preferences</div><div class="sub-settings"><div class="setting-line"><label class="toggle"><input type="checkbox" id="use-system-theme" checked><span class="slider"></span></label><div>Use system theme</div></div><div class="setting-line"><div>Preferred dark theme</div><label class="select-wrapper"><select id="preferred-dark-theme" autocomplete="off"><option value="light" >light</option><option value="dark" selected>dark</option><option value="ayu" >ayu</option></select><img src="./down-arrow.svg" alt="Select item"></label></div><div class="setting-line"><div>Preferred light theme</div><label class="select-wrapper"><select id="preferred-light-theme" autocomplete="off"><option value="light" selected>light</option><option value="dark" >dark</option><option value="ayu" >ayu</option></select><img src="./down-arrow.svg" alt="Select item"></label></div></div>
</div><div class="setting-line"><div class="title">Auto-hide item declarations</div><div class="sub-settings"><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-struct" checked><span class="slider"></span></label><div>Auto-hide structs declaration</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-enum" ><span class="slider"></span></label><div>Auto-hide enums declaration</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-union" checked><span class="slider"></span></label><div>Auto-hide unions declaration</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-trait" checked><span class="slider"></span></label><div>Auto-hide traits declaration</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-macro" ><span class="slider"></span></label><div>Auto-hide macros declaration</div></div></div>
</div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-attributes" checked><span class="slider"></span></label><div>Auto-hide item attributes.</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-method-docs" ><span class="slider"></span></label><div>Auto-hide item methods' documentation</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-hide-trait-implementations" checked><span class="slider"></span></label><div>Auto-hide trait implementation documentation</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="auto-collapse-implementors" checked><span class="slider"></span></label><div>Auto-hide implementors of a trait</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="go-to-only-result" ><span class="slider"></span></label><div>Directly go to item in search if there is only one result</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="line-numbers" ><span class="slider"></span></label><div>Show line numbers on code examples</div></div><div class="setting-line"><label class="toggle"><input type="checkbox" id="disable-shortcuts" ><span class="slider"></span></label><div>Disable keyboard shortcuts</div></div></div><script src="./settings.js"></script></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="./" data-current-crate="bdk" data-search-js="./search-index.js"></div>
<!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="Source of the Rust file `src/blockchain/any.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>any.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_from</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_from</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">variant</span>:<span class="ident">ident</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">cfg</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
$( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">cfg</span> )<span class="op">*</span>
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span><span class="op">></span> <span class="kw">for</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span> {
};
}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_inner_method</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_inner_method</span> {
( <span class="macro-nonterminal">$</span><span class="self">self</span>:<span class="macro-nonterminal">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> $(, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>:<span class="ident">expr</span>)<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
<span class="kw">match</span> <span class="macro-nonterminal">$</span><span class="self">self</span> {
<span class="attribute">#[<span class="macro-nonterminal">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
- <span class="ident">AnyBlockchain</span>::<span class="ident">Electrum</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
+ <span class="ident">AnyBlockchain::Electrum</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
- <span class="ident">AnyBlockchain</span>::<span class="ident">Esplora</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
+ <span class="ident">AnyBlockchain::Esplora</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
- <span class="ident">AnyBlockchain</span>::<span class="ident">CompactFilters</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
+ <span class="ident">AnyBlockchain::CompactFilters</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
}
}
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)))]</span>
<span class="doccomment">/// Electrum client</span>
- <span class="ident">Electrum</span>(<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchain</span>),
+ <span class="ident">Electrum</span>(<span class="ident">electrum::ElectrumBlockchain</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)))]</span>
<span class="doccomment">/// Esplora client</span>
- <span class="ident">Esplora</span>(<span class="ident">esplora</span>::<span class="ident">EsploraBlockchain</span>),
+ <span class="ident">Esplora</span>(<span class="ident">esplora::EsploraBlockchain</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)))]</span>
<span class="doccomment">/// Compact filters client</span>
- <span class="ident">CompactFilters</span>(<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchain</span>),
+ <span class="ident">CompactFilters</span>(<span class="ident">compact_filters::CompactFiltersBlockchain</span>),
}
<span class="attribute">#[<span class="ident">maybe_async</span>]</span>
<span class="kw">impl</span> <span class="ident">Blockchain</span> <span class="kw">for</span> <span class="ident">AnyBlockchain</span> {
<span class="kw">fn</span> <span class="ident">get_capabilities</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Capability</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="self">self</span>, <span class="ident">get_capabilities</span>))
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(<span class="self">self</span>, <span class="ident">get_capabilities</span>))
}
<span class="kw">fn</span> <span class="ident">setup</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">BatchDatabase</span>, <span class="ident">P</span>: <span class="lifetime">'static</span> <span class="op">+</span> <span class="ident">Progress</span><span class="op">></span>(
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(
<span class="self">self</span>,
<span class="ident">setup</span>,
<span class="ident">stop_gap</span>,
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(
<span class="self">self</span>,
<span class="ident">sync</span>,
<span class="ident">stop_gap</span>,
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="self">self</span>, <span class="ident">get_tx</span>, <span class="ident">txid</span>))
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(<span class="self">self</span>, <span class="ident">get_tx</span>, <span class="ident">txid</span>))
}
<span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="self">self</span>, <span class="ident">broadcast</span>, <span class="ident">tx</span>))
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(<span class="self">self</span>, <span class="ident">broadcast</span>, <span class="ident">tx</span>))
}
<span class="kw">fn</span> <span class="ident">get_height</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="self">self</span>, <span class="ident">get_height</span>))
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(<span class="self">self</span>, <span class="ident">get_height</span>))
}
<span class="kw">fn</span> <span class="ident">estimate_fee</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">target</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">FeeRate</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="self">self</span>, <span class="ident">estimate_fee</span>, <span class="ident">target</span>))
+ <span class="macro">maybe_await!</span>(<span class="macro">impl_inner_method!</span>(<span class="self">self</span>, <span class="ident">estimate_fee</span>, <span class="ident">target</span>))
}
}
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">Electrum</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">esplora</span>::<span class="ident">EsploraBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">Esplora</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">CompactFilters</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">electrum::ElectrumBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">Electrum</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">esplora::EsploraBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">Esplora</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">compact_filters::CompactFiltersBlockchain</span>, <span class="ident">AnyBlockchain</span>, <span class="ident">CompactFilters</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>);
<span class="doccomment">/// Type that can contain any of the blockchain configurations defined by the library</span>
<span class="doccomment">///</span>
<span class="doccomment">/// );</span>
<span class="doccomment">/// # }</span>
<span class="doccomment">/// ```</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Serialize</span>, <span class="ident">serde::Deserialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
<span class="attribute">#[<span class="ident">serde</span>(<span class="ident">tag</span> <span class="op">=</span> <span class="string">"type"</span>, <span class="ident">rename_all</span> <span class="op">=</span> <span class="string">"snake_case"</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">AnyBlockchainConfig</span> {
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)))]</span>
<span class="doccomment">/// Electrum client</span>
- <span class="ident">Electrum</span>(<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchainConfig</span>),
+ <span class="ident">Electrum</span>(<span class="ident">electrum::ElectrumBlockchainConfig</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)))]</span>
<span class="doccomment">/// Esplora client</span>
- <span class="ident">Esplora</span>(<span class="ident">esplora</span>::<span class="ident">EsploraBlockchainConfig</span>),
+ <span class="ident">Esplora</span>(<span class="ident">esplora::EsploraBlockchainConfig</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)))]</span>
<span class="doccomment">/// Compact filters client</span>
- <span class="ident">CompactFilters</span>(<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchainConfig</span>),
+ <span class="ident">CompactFilters</span>(<span class="ident">compact_filters::CompactFiltersBlockchainConfig</span>),
}
<span class="kw">impl</span> <span class="ident">ConfigurableBlockchain</span> <span class="kw">for</span> <span class="ident">AnyBlockchain</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">AnyBlockchainConfig</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="kw">match</span> <span class="ident">config</span> {
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
- <span class="ident">AnyBlockchainConfig</span>::<span class="ident">Electrum</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
- <span class="ident">AnyBlockchain</span>::<span class="ident">Electrum</span>(<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchain</span>::<span class="ident">from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
+ <span class="ident">AnyBlockchainConfig::Electrum</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">AnyBlockchain::Electrum</span>(<span class="ident">electrum::ElectrumBlockchain::from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
- <span class="ident">AnyBlockchainConfig</span>::<span class="ident">Esplora</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
- <span class="ident">AnyBlockchain</span>::<span class="ident">Esplora</span>(<span class="ident">esplora</span>::<span class="ident">EsploraBlockchain</span>::<span class="ident">from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
+ <span class="ident">AnyBlockchainConfig::Esplora</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">AnyBlockchain::Esplora</span>(<span class="ident">esplora::EsploraBlockchain::from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
- <span class="ident">AnyBlockchainConfig</span>::<span class="ident">CompactFilters</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">AnyBlockchain</span>::<span class="ident">CompactFilters</span>(
- <span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchain</span>::<span class="ident">from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>,
+ <span class="ident">AnyBlockchainConfig::CompactFilters</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">AnyBlockchain::CompactFilters</span>(
+ <span class="ident">compact_filters::CompactFiltersBlockchain::from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>,
),
})
}
}
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">Electrum</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">esplora</span>::<span class="ident">EsploraBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">Esplora</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">CompactFilters</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">electrum::ElectrumBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">Electrum</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">esplora::EsploraBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">Esplora</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">compact_filters::CompactFiltersBlockchainConfig</span>, <span class="ident">AnyBlockchainConfig</span>, <span class="ident">CompactFilters</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>);
</pre></div>
</section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script></body></html>
\ No newline at end of file
<!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="Source of the Rust file `src/blockchain/compact_filters/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), CompactFiltersError>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">path</span>::<span class="ident">Path</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">atomic</span>::{<span class="ident">AtomicUsize</span>, <span class="ident">Ordering</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::{<span class="ident">Arc</span>, <span class="ident">Mutex</span>};
+<span class="kw">use</span> <span class="ident">std::collections::HashSet</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
+<span class="kw">use</span> <span class="ident">std::path::Path</span>;
+<span class="kw">use</span> <span class="ident">std::sync::atomic</span>::{<span class="ident">AtomicUsize</span>, <span class="ident">Ordering</span>};
+<span class="kw">use</span> <span class="ident">std::sync</span>::{<span class="ident">Arc</span>, <span class="ident">Mutex</span>};
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message_blockdata</span>::<span class="ident">Inventory</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::message_blockdata::Inventory</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Network</span>, <span class="ident">OutPoint</span>, <span class="ident">Transaction</span>, <span class="ident">Txid</span>};
<span class="kw">use</span> <span class="ident">rocksdb</span>::{<span class="ident">Options</span>, <span class="ident">SliceTransform</span>, <span class="ident">DB</span>};
<span class="kw">mod</span> <span class="ident">sync</span>;
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">Blockchain</span>, <span class="ident">Capability</span>, <span class="ident">ConfigurableBlockchain</span>, <span class="ident">Progress</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::{<span class="ident">KeychainKind</span>, <span class="ident">LocalUtxo</span>, <span class="ident">TransactionDetails</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">FeeRate</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::{<span class="ident">KeychainKind</span>, <span class="ident">LocalUtxo</span>, <span class="ident">TransactionDetails</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::FeeRate</span>;
<span class="kw">use</span> <span class="ident">peer</span>::<span class="kw-2">*</span>;
<span class="kw">use</span> <span class="ident">store</span>::<span class="kw-2">*</span>;
<span class="ident">skip_blocks</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">peers</span>.<span class="ident">is_empty</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">NoPeers</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::NoPeers</span>);
}
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">opts</span> <span class="op">=</span> <span class="ident">Options</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">opts</span> <span class="op">=</span> <span class="ident">Options::default</span>();
<span class="ident">opts</span>.<span class="ident">create_if_missing</span>(<span class="bool-val">true</span>);
- <span class="ident">opts</span>.<span class="ident">set_prefix_extractor</span>(<span class="ident">SliceTransform</span>::<span class="ident">create_fixed_prefix</span>(<span class="number">16</span>));
+ <span class="ident">opts</span>.<span class="ident">set_prefix_extractor</span>(<span class="ident">SliceTransform::create_fixed_prefix</span>(<span class="number">16</span>));
<span class="kw">let</span> <span class="ident">network</span> <span class="op">=</span> <span class="ident">peers</span>[<span class="number">0</span>].<span class="ident">get_network</span>();
- <span class="kw">let</span> <span class="ident">cfs</span> <span class="op">=</span> <span class="ident">DB</span>::<span class="ident">list_cf</span>(<span class="kw-2">&</span><span class="ident">opts</span>, <span class="kw-2">&</span><span class="ident">storage_dir</span>).<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="string">"default"</span>.<span class="ident">to_string</span>()]);
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">DB</span>::<span class="ident">open_cf</span>(<span class="kw-2">&</span><span class="ident">opts</span>, <span class="kw-2">&</span><span class="ident">storage_dir</span>, <span class="kw-2">&</span><span class="ident">cfs</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">headers</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">ChainStore</span>::<span class="ident">new</span>(<span class="ident">db</span>, <span class="ident">network</span>)<span class="question-mark">?</span>);
+ <span class="kw">let</span> <span class="ident">cfs</span> <span class="op">=</span> <span class="ident">DB::list_cf</span>(<span class="kw-2">&</span><span class="ident">opts</span>, <span class="kw-2">&</span><span class="ident">storage_dir</span>).<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="macro">vec!</span>[<span class="string">"default"</span>.<span class="ident">to_string</span>()]);
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">DB::open_cf</span>(<span class="kw-2">&</span><span class="ident">opts</span>, <span class="kw-2">&</span><span class="ident">storage_dir</span>, <span class="kw-2">&</span><span class="ident">cfs</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">headers</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">ChainStore::new</span>(<span class="ident">db</span>, <span class="ident">network</span>)<span class="question-mark">?</span>);
<span class="comment">// try to recover partial snapshots</span>
<span class="kw">for</span> <span class="ident">cf_name</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">cfs</span> {
<span class="kw">continue</span>;
}
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Trying to recover: {:?}"</span>, <span class="ident">cf_name</span>);
+ <span class="macro">info!</span>(<span class="string">"Trying to recover: {:?}"</span>, <span class="ident">cf_name</span>);
<span class="ident">headers</span>.<span class="ident">recover_snapshot</span>(<span class="ident">cf_name</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="ident">CompactFiltersBlockchain</span> {
- <span class="ident">peers</span>: <span class="ident">peers</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="ident">Arc</span>::<span class="ident">new</span>).<span class="ident">collect</span>(),
+ <span class="ident">peers</span>: <span class="ident">peers</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="ident">Arc::new</span>).<span class="ident">collect</span>(),
<span class="ident">headers</span>,
<span class="ident">skip_blocks</span>,
})
<span class="kw">if</span> <span class="ident">database</span>.<span class="ident">is_mine</span>(<span class="kw-2">&</span><span class="ident">previous_output</span>.<span class="ident">script_pubkey</span>)<span class="question-mark">?</span> {
<span class="ident">outgoing</span> <span class="op">+</span><span class="op">=</span> <span class="ident">previous_output</span>.<span class="ident">value</span>;
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"{} input #{} is mine, removing from utxo"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span>);
+ <span class="macro">debug!</span>(<span class="string">"{} input #{} is mine, removing from utxo"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span>);
<span class="ident">updates</span>.<span class="ident">del_utxo</span>(<span class="kw-2">&</span><span class="ident">input</span>.<span class="ident">previous_output</span>)<span class="question-mark">?</span>;
}
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="ident">keychain</span>, <span class="ident">child</span>)) <span class="op">=</span>
<span class="ident">database</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">output</span>.<span class="ident">script_pubkey</span>)<span class="question-mark">?</span>
{
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"{} output #{} is mine, adding utxo"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span>);
+ <span class="macro">debug!</span>(<span class="string">"{} output #{} is mine, adding utxo"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span>);
<span class="ident">updates</span>.<span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">new</span>(<span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>),
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::new</span>(<span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>),
<span class="ident">txout</span>: <span class="ident">output</span>.<span class="ident">clone</span>(),
<span class="ident">keychain</span>,
})<span class="question-mark">?</span>;
<span class="ident">incoming</span> <span class="op">+</span><span class="op">=</span> <span class="ident">output</span>.<span class="ident">value</span>;
- <span class="kw">if</span> <span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>
+ <span class="kw">if</span> <span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind::Internal</span>
<span class="op">&&</span> (<span class="ident">internal_max_deriv</span>.<span class="ident">is_none</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">child</span> <span class="op">></span> <span class="ident">internal_max_deriv</span>.<span class="ident">unwrap_or</span>(<span class="number">0</span>))
{
<span class="kw-2">*</span><span class="ident">internal_max_deriv</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">child</span>);
- } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>
+ } <span class="kw">else</span> <span class="kw">if</span> <span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind::External</span>
<span class="op">&&</span> (<span class="ident">external_max_deriv</span>.<span class="ident">is_none</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">child</span> <span class="op">></span> <span class="ident">external_max_deriv</span>.<span class="ident">unwrap_or</span>(<span class="number">0</span>))
{
<span class="kw-2">*</span><span class="ident">external_max_deriv</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">child</span>);
<span class="ident">fees</span>: <span class="ident">inputs_sum</span>.<span class="ident">saturating_sub</span>(<span class="ident">outputs_sum</span>),
};
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Saving tx {}"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>);
+ <span class="macro">info!</span>(<span class="string">"Saving tx {}"</span>, <span class="ident">tx</span>.<span class="ident">txid</span>);
<span class="ident">updates</span>.<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">tx</span>)<span class="question-mark">?</span>;
}
<span class="kw">impl</span> <span class="ident">Blockchain</span> <span class="kw">for</span> <span class="ident">CompactFiltersBlockchain</span> {
<span class="kw">fn</span> <span class="ident">get_capabilities</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Capability</span><span class="op">></span> {
- <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Capability</span>::<span class="ident">FullHistory</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>()
+ <span class="macro">vec!</span>[<span class="ident">Capability::FullHistory</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>()
}
- <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy</span>::<span class="ident">mutex_atomic</span>)]</span> <span class="comment">// Mutex is easier to understand than a CAS loop.</span>
+ <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy::mutex_atomic</span>)]</span> <span class="comment">// Mutex is easier to understand than a CAS loop.</span>
<span class="kw">fn</span> <span class="ident">setup</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">BatchDatabase</span>, <span class="ident">P</span>: <span class="lifetime">'static</span> <span class="op">+</span> <span class="ident">Progress</span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">_stop_gap</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>, <span class="comment">// TODO: move to electrum and esplora only</span>
<span class="kw">let</span> <span class="ident">skip_blocks</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">skip_blocks</span>.<span class="ident">unwrap_or</span>(<span class="number">0</span>);
- <span class="kw">let</span> <span class="ident">cf_sync</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">CfSync</span>::<span class="ident">new</span>(<span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>), <span class="ident">skip_blocks</span>, <span class="number">0x00</span>)<span class="question-mark">?</span>);
+ <span class="kw">let</span> <span class="ident">cf_sync</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">CfSync::new</span>(<span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>), <span class="ident">skip_blocks</span>, <span class="number">0x00</span>)<span class="question-mark">?</span>);
<span class="kw">let</span> <span class="ident">initial_height</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">headers</span>.<span class="ident">get_height</span>()<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">total_bundles</span> <span class="op">=</span> (<span class="ident">first_peer</span>.<span class="ident">get_version</span>().<span class="ident">start_height</span> <span class="kw">as</span> <span class="ident">usize</span>)
<span class="kw">let</span> <span class="ident">total_cost</span> <span class="op">=</span> <span class="ident">headers_cost</span> <span class="op">+</span> <span class="ident">filters_cost</span> <span class="op">+</span> <span class="ident">PROCESS_BLOCKS_COST</span>;
- <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">snapshot</span>) <span class="op">=</span> <span class="ident">sync</span>::<span class="ident">sync_headers</span>(
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">first_peer</span>),
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>),
+ <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">snapshot</span>) <span class="op">=</span> <span class="ident">sync::sync_headers</span>(
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">first_peer</span>),
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>),
<span class="op">|</span><span class="ident">new_height</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">local_headers_cost</span> <span class="op">=</span>
<span class="ident">new_height</span>.<span class="ident">saturating_sub</span>(<span class="ident">initial_height</span>) <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">SYNC_HEADERS_COST</span>;
<span class="ident">progress_update</span>.<span class="ident">update</span>(
<span class="ident">local_headers_cost</span> <span class="op">/</span> <span class="ident">total_cost</span> <span class="op">*</span> <span class="number">100.0</span>,
- <span class="prelude-val">Some</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"Synced headers to {}"</span>, <span class="ident">new_height</span>)),
+ <span class="prelude-val">Some</span>(<span class="macro">format!</span>(<span class="string">"Synced headers to {}"</span>, <span class="ident">new_height</span>)),
)
},
)<span class="question-mark">?</span> {
<span class="kw">if</span> <span class="ident">snapshot</span>.<span class="ident">work</span>()<span class="question-mark">?</span> <span class="op">></span> <span class="self">self</span>.<span class="ident">headers</span>.<span class="ident">work</span>()<span class="question-mark">?</span> {
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Applying snapshot with work: {}"</span>, <span class="ident">snapshot</span>.<span class="ident">work</span>()<span class="question-mark">?</span>);
+ <span class="macro">info!</span>(<span class="string">"Applying snapshot with work: {}"</span>, <span class="ident">snapshot</span>.<span class="ident">work</span>()<span class="question-mark">?</span>);
<span class="self">self</span>.<span class="ident">headers</span>.<span class="ident">apply_snapshot</span>(<span class="ident">snapshot</span>)<span class="question-mark">?</span>;
}
}
<span class="kw">let</span> <span class="ident">synced_height</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">headers</span>.<span class="ident">get_height</span>()<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">buried_height</span> <span class="op">=</span> <span class="ident">synced_height</span>.<span class="ident">saturating_sub</span>(<span class="ident">sync</span>::<span class="ident">BURIED_CONFIRMATIONS</span>);
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Synced headers to height: {}"</span>, <span class="ident">synced_height</span>);
+ <span class="kw">let</span> <span class="ident">buried_height</span> <span class="op">=</span> <span class="ident">synced_height</span>.<span class="ident">saturating_sub</span>(<span class="ident">sync::BURIED_CONFIRMATIONS</span>);
+ <span class="macro">info!</span>(<span class="string">"Synced headers to height: {}"</span>, <span class="ident">synced_height</span>);
- <span class="ident">cf_sync</span>.<span class="ident">prepare_sync</span>(<span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">first_peer</span>))<span class="question-mark">?</span>;
+ <span class="ident">cf_sync</span>.<span class="ident">prepare_sync</span>(<span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">first_peer</span>))<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">all_scripts</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(
+ <span class="kw">let</span> <span class="ident">all_scripts</span> <span class="op">=</span> <span class="ident">Arc::new</span>(
<span class="ident">database</span>
.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>)<span class="question-mark">?</span>
.<span class="ident">into_iter</span>()
.<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>(),
);
- <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy</span>::<span class="ident">mutex_atomic</span>)]</span>
- <span class="kw">let</span> <span class="ident">last_synced_block</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Mutex</span>::<span class="ident">new</span>(<span class="ident">synced_height</span>));
+ <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy::mutex_atomic</span>)]</span>
+ <span class="kw">let</span> <span class="ident">last_synced_block</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">Mutex::new</span>(<span class="ident">synced_height</span>));
- <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">AtomicUsize</span>::<span class="ident">new</span>(<span class="number">0</span>));
- <span class="kw">let</span> <span class="ident">progress_update</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Mutex</span>::<span class="ident">new</span>(<span class="ident">progress_update</span>));
+ <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">AtomicUsize::new</span>(<span class="number">0</span>));
+ <span class="kw">let</span> <span class="ident">progress_update</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">Mutex::new</span>(<span class="ident">progress_update</span>));
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">threads</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="self">self</span>.<span class="ident">peers</span>.<span class="ident">len</span>());
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">threads</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="self">self</span>.<span class="ident">peers</span>.<span class="ident">len</span>());
<span class="kw">for</span> <span class="ident">peer</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">peers</span> {
- <span class="kw">let</span> <span class="ident">cf_sync</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">cf_sync</span>);
- <span class="kw">let</span> <span class="ident">peer</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">peer</span>);
- <span class="kw">let</span> <span class="ident">headers</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>);
- <span class="kw">let</span> <span class="ident">all_scripts</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">all_scripts</span>);
- <span class="kw">let</span> <span class="ident">last_synced_block</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">last_synced_block</span>);
- <span class="kw">let</span> <span class="ident">progress_update</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">progress_update</span>);
- <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">synced_bundles</span>);
-
- <span class="kw">let</span> <span class="ident">thread</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">thread</span>::<span class="ident">spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
+ <span class="kw">let</span> <span class="ident">cf_sync</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">cf_sync</span>);
+ <span class="kw">let</span> <span class="ident">peer</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">peer</span>);
+ <span class="kw">let</span> <span class="ident">headers</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">headers</span>);
+ <span class="kw">let</span> <span class="ident">all_scripts</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">all_scripts</span>);
+ <span class="kw">let</span> <span class="ident">last_synced_block</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">last_synced_block</span>);
+ <span class="kw">let</span> <span class="ident">progress_update</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">progress_update</span>);
+ <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">synced_bundles</span>);
+
+ <span class="kw">let</span> <span class="ident">thread</span> <span class="op">=</span> <span class="ident">std::thread::spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
<span class="ident">cf_sync</span>.<span class="ident">capture_thread_for_sync</span>(
<span class="ident">peer</span>,
<span class="op">|</span><span class="ident">block_hash</span>, <span class="ident">filter</span><span class="op">|</span> {
<span class="kw">if</span> <span class="op">!</span><span class="ident">filter</span>
- .<span class="ident">match_any</span>(<span class="ident">block_hash</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">all_scripts</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="ident">AsRef</span>::<span class="ident">as_ref</span>))<span class="question-mark">?</span>
+ .<span class="ident">match_any</span>(<span class="ident">block_hash</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">all_scripts</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="ident">AsRef::as_ref</span>))<span class="question-mark">?</span>
{
<span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="bool-val">false</span>);
}
<span class="kw">let</span> <span class="ident">block_height</span> <span class="op">=</span> <span class="ident">headers</span>.<span class="ident">get_height_for</span>(<span class="ident">block_hash</span>)<span class="question-mark">?</span>.<span class="ident">unwrap_or</span>(<span class="number">0</span>);
- <span class="kw">let</span> <span class="ident">saved_correct_block</span> <span class="op">=</span> <span class="macro">matches</span><span class="macro">!</span>(<span class="ident">headers</span>.<span class="ident">get_full_block</span>(<span class="ident">block_height</span>)<span class="question-mark">?</span>, <span class="prelude-val">Some</span>(<span class="ident">block</span>) <span class="kw">if</span> <span class="kw-2">&</span><span class="ident">block</span>.<span class="ident">block_hash</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">block_hash</span>);
+ <span class="kw">let</span> <span class="ident">saved_correct_block</span> <span class="op">=</span> <span class="macro">matches!</span>(<span class="ident">headers</span>.<span class="ident">get_full_block</span>(<span class="ident">block_height</span>)<span class="question-mark">?</span>, <span class="prelude-val">Some</span>(<span class="ident">block</span>) <span class="kw">if</span> <span class="kw-2">&</span><span class="ident">block</span>.<span class="ident">block_hash</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">block_hash</span>);
<span class="kw">if</span> <span class="ident">saved_correct_block</span> {
<span class="prelude-val">Ok</span>(<span class="bool-val">false</span>)
}
},
<span class="op">|</span><span class="ident">index</span><span class="op">|</span> {
- <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">synced_bundles</span>.<span class="ident">fetch_add</span>(<span class="number">1</span>, <span class="ident">Ordering</span>::<span class="ident">SeqCst</span>);
+ <span class="kw">let</span> <span class="ident">synced_bundles</span> <span class="op">=</span> <span class="ident">synced_bundles</span>.<span class="ident">fetch_add</span>(<span class="number">1</span>, <span class="ident">Ordering::SeqCst</span>);
<span class="kw">let</span> <span class="ident">local_filters_cost</span> <span class="op">=</span> <span class="ident">synced_bundles</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">SYNC_FILTERS_COST</span>;
<span class="ident">progress_update</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>().<span class="ident">update</span>(
(<span class="ident">headers_cost</span> <span class="op">+</span> <span class="ident">local_filters_cost</span>) <span class="op">/</span> <span class="ident">total_cost</span> <span class="op">*</span> <span class="number">100.0</span>,
- <span class="prelude-val">Some</span>(<span class="macro">format</span><span class="macro">!</span>(
+ <span class="prelude-val">Some</span>(<span class="macro">format!</span>(
<span class="string">"Synced filters {} - {}"</span>,
<span class="ident">index</span> <span class="op">*</span> <span class="number">1000</span> <span class="op">+</span> <span class="number">1</span>,
(<span class="ident">index</span> <span class="op">+</span> <span class="number">1</span>) <span class="op">*</span> <span class="number">1000</span>
<span class="comment">// delete all txs newer than last_synced_block</span>
<span class="kw">let</span> <span class="ident">last_synced_block</span> <span class="op">=</span> <span class="kw-2">*</span><span class="ident">last_synced_block</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>();
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">log::debug!</span>(
<span class="string">"Dropping transactions newer than `last_synced_block` = {}"</span>,
<span class="ident">last_synced_block</span>
);
<span class="ident">database</span>.<span class="ident">commit_batch</span>(<span class="ident">updates</span>)<span class="question-mark">?</span>;
<span class="kw">match</span> <span class="ident">first_peer</span>.<span class="ident">ask_for_mempool</span>() {
- <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">PeerBloomDisabled</span>) <span class="op">=</span><span class="op">></span> {
- <span class="ident">log</span>::<span class="macro">warn</span><span class="macro">!</span>(<span class="string">"Peer has BLOOM disabled, we can't ask for the mempool"</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::PeerBloomDisabled</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="macro">log::warn!</span>(<span class="string">"Peer has BLOOM disabled, we can't ask for the mempool"</span>)
}
<span class="ident">e</span> <span class="op">=</span><span class="op">></span> <span class="ident">e</span><span class="question-mark">?</span>,
};
}
<span class="kw">let</span> <span class="ident">current_ext</span> <span class="op">=</span> <span class="ident">database</span>
- .<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>
+ .<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>
.<span class="ident">unwrap_or</span>(<span class="number">0</span>);
<span class="kw">let</span> <span class="ident">first_ext_new</span> <span class="op">=</span> <span class="ident">external_max_deriv</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span> <span class="op">+</span> <span class="number">1</span>).<span class="ident">unwrap_or</span>(<span class="number">0</span>);
<span class="kw">if</span> <span class="ident">first_ext_new</span> <span class="op">></span> <span class="ident">current_ext</span> {
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Setting external index to {}"</span>, <span class="ident">first_ext_new</span>);
- <span class="ident">database</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">first_ext_new</span>)<span class="question-mark">?</span>;
+ <span class="macro">info!</span>(<span class="string">"Setting external index to {}"</span>, <span class="ident">first_ext_new</span>);
+ <span class="ident">database</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">first_ext_new</span>)<span class="question-mark">?</span>;
}
<span class="kw">let</span> <span class="ident">current_int</span> <span class="op">=</span> <span class="ident">database</span>
- .<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>)<span class="question-mark">?</span>
+ .<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::Internal</span>)<span class="question-mark">?</span>
.<span class="ident">unwrap_or</span>(<span class="number">0</span>);
<span class="kw">let</span> <span class="ident">first_int_new</span> <span class="op">=</span> <span class="ident">internal_max_deriv</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span> <span class="op">+</span> <span class="number">1</span>).<span class="ident">unwrap_or</span>(<span class="number">0</span>);
<span class="kw">if</span> <span class="ident">first_int_new</span> <span class="op">></span> <span class="ident">current_int</span> {
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Setting internal index to {}"</span>, <span class="ident">first_int_new</span>);
- <span class="ident">database</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="ident">first_int_new</span>)<span class="question-mark">?</span>;
+ <span class="macro">info!</span>(<span class="string">"Setting internal index to {}"</span>, <span class="ident">first_int_new</span>);
+ <span class="ident">database</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind::Internal</span>, <span class="ident">first_int_new</span>)<span class="question-mark">?</span>;
}
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"Dropping blocks until {}"</span>, <span class="ident">buried_height</span>);
+ <span class="macro">info!</span>(<span class="string">"Dropping blocks until {}"</span>, <span class="ident">buried_height</span>);
<span class="self">self</span>.<span class="ident">headers</span>.<span class="ident">delete_blocks_until</span>(<span class="ident">buried_height</span>)<span class="question-mark">?</span>;
<span class="ident">progress_update</span>
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">peers</span>[<span class="number">0</span>]
.<span class="ident">get_mempool</span>()
- .<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">Inventory</span>::<span class="ident">Transaction</span>(<span class="kw-2">*</span><span class="ident">txid</span>)))
+ .<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">Inventory::Transaction</span>(<span class="kw-2">*</span><span class="ident">txid</span>)))
}
<span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">estimate_fee</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">_target</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">FeeRate</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="comment">// TODO</span>
- <span class="prelude-val">Ok</span>(<span class="ident">FeeRate</span>::<span class="ident">default</span>())
+ <span class="prelude-val">Ok</span>(<span class="ident">FeeRate::default</span>())
}
}
<span class="doccomment">/// Data to connect to a Bitcoin P2P peer</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Deserialize</span>, <span class="ident">serde::Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">BitcoinPeerConfig</span> {
<span class="doccomment">/// Peer address such as 127.0.0.1:18333</span>
<span class="kw">pub</span> <span class="ident">address</span>: <span class="ident">String</span>,
}
<span class="doccomment">/// Configuration for a [`CompactFiltersBlockchain`]</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Deserialize</span>, <span class="ident">serde::Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">CompactFiltersBlockchainConfig</span> {
<span class="doccomment">/// List of peers to try to connect to for asking headers and filters</span>
<span class="kw">pub</span> <span class="ident">peers</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">BitcoinPeerConfig</span><span class="op">></span>,
<span class="kw">impl</span> <span class="ident">ConfigurableBlockchain</span> <span class="kw">for</span> <span class="ident">CompactFiltersBlockchain</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">CompactFiltersBlockchainConfig</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">mempool</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Mempool</span>::<span class="ident">default</span>());
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">mempool</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">Mempool::default</span>());
<span class="kw">let</span> <span class="ident">peers</span> <span class="op">=</span> <span class="ident">config</span>
.<span class="ident">peers</span>
.<span class="ident">iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">peer_conf</span><span class="op">|</span> <span class="kw">match</span> <span class="kw-2">&</span><span class="ident">peer_conf</span>.<span class="ident">socks5</span> {
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">Peer</span>::<span class="ident">connect</span>(<span class="kw-2">&</span><span class="ident">peer_conf</span>.<span class="ident">address</span>, <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>), <span class="ident">config</span>.<span class="ident">network</span>),
- <span class="prelude-val">Some</span>(<span class="ident">proxy</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Peer</span>::<span class="ident">connect_proxy</span>(
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">Peer::connect</span>(<span class="kw-2">&</span><span class="ident">peer_conf</span>.<span class="ident">address</span>, <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>), <span class="ident">config</span>.<span class="ident">network</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">proxy</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Peer::connect_proxy</span>(
<span class="ident">peer_conf</span>.<span class="ident">address</span>.<span class="ident">as_str</span>(),
<span class="ident">proxy</span>,
<span class="ident">peer_conf</span>
.<span class="ident">socks5_credentials</span>
.<span class="ident">as_ref</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>)<span class="op">|</span> (<span class="ident">a</span>.<span class="ident">as_str</span>(), <span class="ident">b</span>.<span class="ident">as_str</span>())),
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>),
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>),
<span class="ident">config</span>.<span class="ident">network</span>,
),
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>;
- <span class="prelude-val">Ok</span>(<span class="ident">CompactFiltersBlockchain</span>::<span class="ident">new</span>(
+ <span class="prelude-val">Ok</span>(<span class="ident">CompactFiltersBlockchain::new</span>(
<span class="ident">peers</span>,
<span class="kw-2">&</span><span class="ident">config</span>.<span class="ident">storage_dir</span>,
<span class="ident">config</span>.<span class="ident">skip_blocks</span>,
<span class="ident">NoPeers</span>,
<span class="doccomment">/// Internal database error</span>
- <span class="ident">Db</span>(<span class="ident">rocksdb</span>::<span class="ident">Error</span>),
+ <span class="ident">Db</span>(<span class="ident">rocksdb::Error</span>),
<span class="doccomment">/// Internal I/O error</span>
- <span class="ident">Io</span>(<span class="ident">std</span>::<span class="ident">io</span>::<span class="ident">Error</span>),
+ <span class="ident">Io</span>(<span class="ident">std::io::Error</span>),
<span class="doccomment">/// Invalid BIP158 filter</span>
- <span class="ident">Bip158</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip158</span>::<span class="ident">Error</span>),
+ <span class="ident">Bip158</span>(<span class="ident">bitcoin::util::bip158::Error</span>),
<span class="doccomment">/// Internal system time error</span>
- <span class="ident">Time</span>(<span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">SystemTimeError</span>),
+ <span class="ident">Time</span>(<span class="ident">std::time::SystemTimeError</span>),
<span class="doccomment">/// Wrapper for [`crate::error::Error`]</span>
- <span class="ident">Global</span>(<span class="ident">Box</span><span class="op"><</span><span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span><span class="op">></span>),
+ <span class="ident">Global</span>(<span class="ident">Box</span><span class="op"><</span><span class="kw">crate</span><span class="ident">::error::Error</span><span class="op">></span>),
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">rocksdb</span>::<span class="ident">Error</span>, <span class="ident">Db</span>, <span class="ident">CompactFiltersError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">std</span>::<span class="ident">io</span>::<span class="ident">Error</span>, <span class="ident">Io</span>, <span class="ident">CompactFiltersError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip158</span>::<span class="ident">Error</span>, <span class="ident">Bip158</span>, <span class="ident">CompactFiltersError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">SystemTimeError</span>, <span class="ident">Time</span>, <span class="ident">CompactFiltersError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">rocksdb::Error</span>, <span class="ident">Db</span>, <span class="ident">CompactFiltersError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">std::io::Error</span>, <span class="ident">Io</span>, <span class="ident">CompactFiltersError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::bip158::Error</span>, <span class="ident">Bip158</span>, <span class="ident">CompactFiltersError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">std::time::SystemTimeError</span>, <span class="ident">Time</span>, <span class="ident">CompactFiltersError</span>);
-<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span><span class="op">></span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">err</span>: <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">CompactFiltersError</span>::<span class="ident">Global</span>(<span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">err</span>))
+<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span><span class="ident">::error::Error</span><span class="op">></span> <span class="kw">for</span> <span class="ident">CompactFiltersError</span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">err</span>: <span class="kw">crate</span><span class="ident">::error::Error</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
+ <span class="ident">CompactFiltersError::Global</span>(<span class="ident">Box::new</span>(<span class="ident">err</span>))
}
}
</pre></div>
<!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="Source of the Rust file `src/blockchain/compact_filters/peer.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>peer.rs - source</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashMap</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">net</span>::{<span class="ident">TcpStream</span>, <span class="ident">ToSocketAddrs</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::{<span class="ident">Arc</span>, <span class="ident">Condvar</span>, <span class="ident">Mutex</span>, <span class="ident">RwLock</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">thread</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::{<span class="ident">Duration</span>, <span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
+<span class="kw">use</span> <span class="ident">std::collections::HashMap</span>;
+<span class="kw">use</span> <span class="ident">std::net</span>::{<span class="ident">TcpStream</span>, <span class="ident">ToSocketAddrs</span>};
+<span class="kw">use</span> <span class="ident">std::sync</span>::{<span class="ident">Arc</span>, <span class="ident">Condvar</span>, <span class="ident">Mutex</span>, <span class="ident">RwLock</span>};
+<span class="kw">use</span> <span class="ident">std::thread</span>;
+<span class="kw">use</span> <span class="ident">std::time</span>::{<span class="ident">Duration</span>, <span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
<span class="kw">use</span> <span class="ident">socks</span>::{<span class="ident">Socks5Stream</span>, <span class="ident">ToTargetAddr</span>};
<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">thread_rng</span>, <span class="ident">Rng</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">Encodable</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::<span class="ident">BlockHash</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">constants</span>::<span class="ident">ServiceFlags</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message</span>::{<span class="ident">NetworkMessage</span>, <span class="ident">RawNetworkMessage</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message_blockdata</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message_filter</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message_network</span>::<span class="ident">VersionMessage</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">stream_reader</span>::<span class="ident">StreamReader</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">Address</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::Encodable</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types::BlockHash</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::constants::ServiceFlags</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::message</span>::{<span class="ident">NetworkMessage</span>, <span class="ident">RawNetworkMessage</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::network::message_blockdata</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::message_filter</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::message_network::VersionMessage</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::stream_reader::StreamReader</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::Address</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Block</span>, <span class="ident">Network</span>, <span class="ident">Transaction</span>, <span class="ident">Txid</span>, <span class="ident">Wtxid</span>};
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">CompactFiltersError</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::CompactFiltersError</span>;
<span class="kw">type</span> <span class="ident">ResponsesMap</span> <span class="op">=</span> <span class="ident">HashMap</span><span class="op"><</span><span class="kw-2">&</span><span class="lifetime">'static</span> <span class="ident">str</span>, <span class="ident">Arc</span><span class="op"><</span>(<span class="ident">Mutex</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">NetworkMessage</span><span class="op">></span><span class="op">></span>, <span class="ident">Condvar</span>)<span class="op">></span><span class="op">></span>;
<span class="kw">impl</span> <span class="ident">Mempool</span> {
<span class="doccomment">/// Create a new empty mempool</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="self">Self</span>::<span class="ident">default</span>()
+ <span class="self">Self</span><span class="ident">::default</span>()
}
<span class="doccomment">/// Add a transaction to the mempool</span>
<span class="doccomment">/// Look-up a transaction in the mempool given an [`Inventory`] request</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">inventory</span>: <span class="kw-2">&</span><span class="ident">Inventory</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">identifer</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">inventory</span> {
- <span class="ident">Inventory</span>::<span class="ident">Error</span> <span class="op">|</span> <span class="ident">Inventory</span>::<span class="ident">Block</span>(<span class="kw">_</span>) <span class="op">|</span> <span class="ident">Inventory</span>::<span class="ident">WitnessBlock</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">None</span>,
- <span class="ident">Inventory</span>::<span class="ident">Transaction</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier</span>::<span class="ident">Txid</span>(<span class="kw-2">*</span><span class="ident">txid</span>),
- <span class="ident">Inventory</span>::<span class="ident">WitnessTransaction</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier</span>::<span class="ident">Txid</span>(<span class="kw-2">*</span><span class="ident">txid</span>),
- <span class="ident">Inventory</span>::<span class="ident">WTx</span>(<span class="ident">wtxid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier</span>::<span class="ident">Wtxid</span>(<span class="kw-2">*</span><span class="ident">wtxid</span>),
- <span class="ident">Inventory</span>::<span class="ident">Unknown</span> { <span class="ident">inv_type</span>, <span class="ident">hash</span> } <span class="op">=</span><span class="op">></span> {
- <span class="ident">log</span>::<span class="macro">warn</span><span class="macro">!</span>(
+ <span class="ident">Inventory::Error</span> <span class="op">|</span> <span class="ident">Inventory::Block</span>(<span class="kw">_</span>) <span class="op">|</span> <span class="ident">Inventory::WitnessBlock</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">None</span>,
+ <span class="ident">Inventory::Transaction</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier::Txid</span>(<span class="kw-2">*</span><span class="ident">txid</span>),
+ <span class="ident">Inventory::WitnessTransaction</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier::Txid</span>(<span class="kw-2">*</span><span class="ident">txid</span>),
+ <span class="ident">Inventory::WTx</span>(<span class="ident">wtxid</span>) <span class="op">=</span><span class="op">></span> <span class="ident">TxIdentifier::Wtxid</span>(<span class="kw-2">*</span><span class="ident">wtxid</span>),
+ <span class="ident">Inventory::Unknown</span> { <span class="ident">inv_type</span>, <span class="ident">hash</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="macro">log::warn!</span>(
<span class="string">"Unknown inventory request type `{}`, hash `{:?}`"</span>,
<span class="ident">inv_type</span>,
<span class="ident">hash</span>
};
<span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">identifer</span> {
- <span class="ident">TxIdentifier</span>::<span class="ident">Txid</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">txid</span>),
- <span class="ident">TxIdentifier</span>::<span class="ident">Wtxid</span>(<span class="ident">wtxid</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="number">0</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>().<span class="ident">wtxids</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">wtxid</span>).<span class="ident">cloned</span>(),
+ <span class="ident">TxIdentifier::Txid</span>(<span class="ident">txid</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">txid</span>),
+ <span class="ident">TxIdentifier::Wtxid</span>(<span class="ident">wtxid</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="number">0</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>().<span class="ident">wtxids</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">wtxid</span>).<span class="ident">cloned</span>(),
};
<span class="ident">txid</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">txid</span><span class="op">|</span> <span class="self">self</span>.<span class="number">0</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>().<span class="ident">txs</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">txid</span>).<span class="ident">cloned</span>())
<span class="ident">writer</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mutex</span><span class="op"><</span><span class="ident">TcpStream</span><span class="op">></span><span class="op">></span>,
<span class="ident">responses</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">RwLock</span><span class="op"><</span><span class="ident">ResponsesMap</span><span class="op">></span><span class="op">></span>,
- <span class="ident">reader_thread</span>: <span class="ident">thread</span>::<span class="ident">JoinHandle</span><span class="op"><</span>()<span class="op">></span>,
+ <span class="ident">reader_thread</span>: <span class="ident">thread::JoinHandle</span><span class="op"><</span>()<span class="op">></span>,
<span class="ident">connected</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">RwLock</span><span class="op"><</span><span class="ident">bool</span><span class="op">></span><span class="op">></span>,
<span class="ident">mempool</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mempool</span><span class="op">></span>,
<span class="ident">mempool</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mempool</span><span class="op">></span>,
<span class="ident">network</span>: <span class="ident">Network</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">stream</span> <span class="op">=</span> <span class="ident">TcpStream</span>::<span class="ident">connect</span>(<span class="ident">address</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">stream</span> <span class="op">=</span> <span class="ident">TcpStream::connect</span>(<span class="ident">address</span>)<span class="question-mark">?</span>;
- <span class="ident">Peer</span>::<span class="ident">from_stream</span>(<span class="ident">stream</span>, <span class="ident">mempool</span>, <span class="ident">network</span>)
+ <span class="ident">Peer::from_stream</span>(<span class="ident">stream</span>, <span class="ident">mempool</span>, <span class="ident">network</span>)
}
<span class="doccomment">/// Connect to a peer through a SOCKS5 proxy, optionally by using some credentials, specified</span>
<span class="ident">network</span>: <span class="ident">Network</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">socks_stream</span> <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="ident">username</span>, <span class="ident">password</span>)) <span class="op">=</span> <span class="ident">credentials</span> {
- <span class="ident">Socks5Stream</span>::<span class="ident">connect_with_password</span>(<span class="ident">proxy</span>, <span class="ident">target</span>, <span class="ident">username</span>, <span class="ident">password</span>)<span class="question-mark">?</span>
+ <span class="ident">Socks5Stream::connect_with_password</span>(<span class="ident">proxy</span>, <span class="ident">target</span>, <span class="ident">username</span>, <span class="ident">password</span>)<span class="question-mark">?</span>
} <span class="kw">else</span> {
- <span class="ident">Socks5Stream</span>::<span class="ident">connect</span>(<span class="ident">proxy</span>, <span class="ident">target</span>)<span class="question-mark">?</span>
+ <span class="ident">Socks5Stream::connect</span>(<span class="ident">proxy</span>, <span class="ident">target</span>)<span class="question-mark">?</span>
};
- <span class="ident">Peer</span>::<span class="ident">from_stream</span>(<span class="ident">socks_stream</span>.<span class="ident">into_inner</span>(), <span class="ident">mempool</span>, <span class="ident">network</span>)
+ <span class="ident">Peer::from_stream</span>(<span class="ident">socks_stream</span>.<span class="ident">into_inner</span>(), <span class="ident">mempool</span>, <span class="ident">network</span>)
}
<span class="doccomment">/// Create a [`Peer`] from an already connected TcpStream</span>
<span class="ident">mempool</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mempool</span><span class="op">></span>,
<span class="ident">network</span>: <span class="ident">Network</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">writer</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Mutex</span>::<span class="ident">new</span>(<span class="ident">stream</span>.<span class="ident">try_clone</span>()<span class="question-mark">?</span>));
- <span class="kw">let</span> <span class="ident">responses</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">RwLock</span><span class="op"><</span><span class="ident">ResponsesMap</span><span class="op">></span><span class="op">></span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">RwLock</span>::<span class="ident">new</span>(<span class="ident">HashMap</span>::<span class="ident">new</span>()));
- <span class="kw">let</span> <span class="ident">connected</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">RwLock</span>::<span class="ident">new</span>(<span class="bool-val">true</span>));
+ <span class="kw">let</span> <span class="ident">writer</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">Mutex::new</span>(<span class="ident">stream</span>.<span class="ident">try_clone</span>()<span class="question-mark">?</span>));
+ <span class="kw">let</span> <span class="ident">responses</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">RwLock</span><span class="op"><</span><span class="ident">ResponsesMap</span><span class="op">></span><span class="op">></span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">RwLock::new</span>(<span class="ident">HashMap::new</span>()));
+ <span class="kw">let</span> <span class="ident">connected</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">RwLock::new</span>(<span class="bool-val">true</span>));
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">locked_writer</span> <span class="op">=</span> <span class="ident">writer</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">reader_thread_responses</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">responses</span>);
- <span class="kw">let</span> <span class="ident">reader_thread_writer</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">writer</span>);
- <span class="kw">let</span> <span class="ident">reader_thread_mempool</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>);
- <span class="kw">let</span> <span class="ident">reader_thread_connected</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">connected</span>);
- <span class="kw">let</span> <span class="ident">reader_thread</span> <span class="op">=</span> <span class="ident">thread</span>::<span class="ident">spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
- <span class="self">Self</span>::<span class="ident">reader_thread</span>(
+ <span class="kw">let</span> <span class="ident">reader_thread_responses</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">responses</span>);
+ <span class="kw">let</span> <span class="ident">reader_thread_writer</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">writer</span>);
+ <span class="kw">let</span> <span class="ident">reader_thread_mempool</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">mempool</span>);
+ <span class="kw">let</span> <span class="ident">reader_thread_connected</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">connected</span>);
+ <span class="kw">let</span> <span class="ident">reader_thread</span> <span class="op">=</span> <span class="ident">thread::spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
+ <span class="self">Self</span><span class="ident">::reader_thread</span>(
<span class="ident">network</span>,
<span class="ident">stream</span>,
<span class="ident">reader_thread_responses</span>,
)
});
- <span class="kw">let</span> <span class="ident">timestamp</span> <span class="op">=</span> <span class="ident">SystemTime</span>::<span class="ident">now</span>().<span class="ident">duration_since</span>(<span class="ident">UNIX_EPOCH</span>)<span class="question-mark">?</span>.<span class="ident">as_secs</span>() <span class="kw">as</span> <span class="ident">i64</span>;
+ <span class="kw">let</span> <span class="ident">timestamp</span> <span class="op">=</span> <span class="ident">SystemTime::now</span>().<span class="ident">duration_since</span>(<span class="ident">UNIX_EPOCH</span>)<span class="question-mark">?</span>.<span class="ident">as_secs</span>() <span class="kw">as</span> <span class="ident">i64</span>;
<span class="kw">let</span> <span class="ident">nonce</span> <span class="op">=</span> <span class="ident">thread_rng</span>().<span class="ident">gen</span>();
- <span class="kw">let</span> <span class="ident">receiver</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">locked_writer</span>.<span class="ident">peer_addr</span>()<span class="question-mark">?</span>, <span class="ident">ServiceFlags</span>::<span class="ident">NONE</span>);
+ <span class="kw">let</span> <span class="ident">receiver</span> <span class="op">=</span> <span class="ident">Address::new</span>(<span class="kw-2">&</span><span class="ident">locked_writer</span>.<span class="ident">peer_addr</span>()<span class="question-mark">?</span>, <span class="ident">ServiceFlags::NONE</span>);
<span class="kw">let</span> <span class="ident">sender</span> <span class="op">=</span> <span class="ident">Address</span> {
- <span class="ident">services</span>: <span class="ident">ServiceFlags</span>::<span class="ident">NONE</span>,
+ <span class="ident">services</span>: <span class="ident">ServiceFlags::NONE</span>,
<span class="ident">address</span>: [<span class="number">0u16</span>; <span class="number">8</span>],
<span class="ident">port</span>: <span class="number">0</span>,
};
- <span class="self">Self</span>::<span class="ident">_send</span>(
+ <span class="self">Self</span><span class="ident">::_send</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">locked_writer</span>,
<span class="ident">network</span>.<span class="ident">magic</span>(),
- <span class="ident">NetworkMessage</span>::<span class="ident">Version</span>(<span class="ident">VersionMessage</span>::<span class="ident">new</span>(
- <span class="ident">ServiceFlags</span>::<span class="ident">WITNESS</span>,
+ <span class="ident">NetworkMessage::Version</span>(<span class="ident">VersionMessage::new</span>(
+ <span class="ident">ServiceFlags::WITNESS</span>,
<span class="ident">timestamp</span>,
<span class="ident">receiver</span>,
<span class="ident">sender</span>,
<span class="number">0</span>,
)),
)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">version</span> <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage</span>::<span class="ident">Version</span>(<span class="ident">version</span>) <span class="op">=</span>
- <span class="self">Self</span>::<span class="ident">_recv</span>(<span class="kw-2">&</span><span class="ident">responses</span>, <span class="string">"version"</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>()
+ <span class="kw">let</span> <span class="ident">version</span> <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage::Version</span>(<span class="ident">version</span>) <span class="op">=</span>
+ <span class="self">Self</span><span class="ident">::_recv</span>(<span class="kw-2">&</span><span class="ident">responses</span>, <span class="string">"version"</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>()
{
<span class="ident">version</span>
} <span class="kw">else</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
};
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage</span>::<span class="ident">Verack</span> <span class="op">=</span> <span class="self">Self</span>::<span class="ident">_recv</span>(<span class="kw-2">&</span><span class="ident">responses</span>, <span class="string">"verack"</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>() {
- <span class="self">Self</span>::<span class="ident">_send</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">locked_writer</span>, <span class="ident">network</span>.<span class="ident">magic</span>(), <span class="ident">NetworkMessage</span>::<span class="ident">Verack</span>)<span class="question-mark">?</span>;
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage::Verack</span> <span class="op">=</span> <span class="self">Self</span><span class="ident">::_recv</span>(<span class="kw-2">&</span><span class="ident">responses</span>, <span class="string">"verack"</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>() {
+ <span class="self">Self</span><span class="ident">::_send</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">locked_writer</span>, <span class="ident">network</span>.<span class="ident">magic</span>(), <span class="ident">NetworkMessage::Verack</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
}
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">locked_writer</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">locked_writer</span>);
<span class="prelude-val">Ok</span>(<span class="ident">Peer</span> {
<span class="ident">writer</span>,
<span class="ident">magic</span>: <span class="ident">u32</span>,
<span class="ident">payload</span>: <span class="ident">NetworkMessage</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"==> {:?}"</span>, <span class="ident">payload</span>);
+ <span class="macro">log::trace!</span>(<span class="string">"==> {:?}"</span>, <span class="ident">payload</span>);
<span class="kw">let</span> <span class="ident">raw_message</span> <span class="op">=</span> <span class="ident">RawNetworkMessage</span> { <span class="ident">magic</span>, <span class="ident">payload</span> };
<span class="ident">raw_message</span>
.<span class="ident">consensus_encode</span>(<span class="ident">writer</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>;
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
}
<span class="kw">let</span> <span class="ident">message_resp</span> <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">lock</span> <span class="op">=</span> <span class="ident">responses</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">message_resp</span> <span class="op">=</span> <span class="ident">lock</span>.<span class="ident">entry</span>(<span class="ident">wait_for</span>).<span class="ident">or_default</span>();
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">message_resp</span>)
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">message_resp</span>)
};
<span class="kw">let</span> (<span class="ident">lock</span>, <span class="ident">cvar</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">*</span><span class="ident">message_resp</span>;
<span class="doccomment">/// Return the mempool used by this peer</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_mempool</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mempool</span><span class="op">></span> {
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">mempool</span>)
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">mempool</span>)
}
<span class="doccomment">/// Return whether or not the peer is still connected</span>
<span class="ident">reader_thread_mempool</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">Mempool</span><span class="op">></span>,
<span class="ident">reader_thread_connected</span>: <span class="ident">Arc</span><span class="op"><</span><span class="ident">RwLock</span><span class="op"><</span><span class="ident">bool</span><span class="op">></span><span class="op">></span>,
) {
- <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">check_disconnect</span> {
+ <span class="macro">macro_rules!</span> <span class="ident">check_disconnect</span> {
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span>:<span class="ident">expr</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">match</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">call</span> {
<span class="prelude-val">Ok</span>(<span class="ident">good</span>) <span class="op">=</span><span class="op">></span> <span class="ident">good</span>,
<span class="prelude-val">Err</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> {
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Error {:?}"</span>, <span class="ident">e</span>);
+ <span class="macro">log::debug!</span>(<span class="string">"Error {:?}"</span>, <span class="ident">e</span>);
<span class="kw-2">*</span><span class="ident">reader_thread_connected</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>() <span class="op">=</span> <span class="bool-val">false</span>;
<span class="kw">break</span>;
};
}
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">reader</span> <span class="op">=</span> <span class="ident">StreamReader</span>::<span class="ident">new</span>(<span class="ident">connection</span>, <span class="prelude-val">None</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">reader</span> <span class="op">=</span> <span class="ident">StreamReader::new</span>(<span class="ident">connection</span>, <span class="prelude-val">None</span>);
<span class="kw">loop</span> {
- <span class="kw">let</span> <span class="ident">raw_message</span>: <span class="ident">RawNetworkMessage</span> <span class="op">=</span> <span class="macro">check_disconnect</span><span class="macro">!</span>(<span class="ident">reader</span>.<span class="ident">read_next</span>());
+ <span class="kw">let</span> <span class="ident">raw_message</span>: <span class="ident">RawNetworkMessage</span> <span class="op">=</span> <span class="macro">check_disconnect!</span>(<span class="ident">reader</span>.<span class="ident">read_next</span>());
<span class="kw">let</span> <span class="ident">in_message</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">raw_message</span>.<span class="ident">magic</span> <span class="op">!</span><span class="op">=</span> <span class="ident">network</span>.<span class="ident">magic</span>() {
<span class="kw">continue</span>;
<span class="ident">raw_message</span>.<span class="ident">payload</span>
};
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"<== {:?}"</span>, <span class="ident">in_message</span>);
+ <span class="macro">log::trace!</span>(<span class="string">"<== {:?}"</span>, <span class="ident">in_message</span>);
<span class="kw">match</span> <span class="ident">in_message</span> {
- <span class="ident">NetworkMessage</span>::<span class="ident">Ping</span>(<span class="ident">nonce</span>) <span class="op">=</span><span class="op">></span> {
- <span class="macro">check_disconnect</span><span class="macro">!</span>(<span class="self">Self</span>::<span class="ident">_send</span>(
+ <span class="ident">NetworkMessage::Ping</span>(<span class="ident">nonce</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="macro">check_disconnect!</span>(<span class="self">Self</span><span class="ident">::_send</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">reader_thread_writer</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>(),
<span class="ident">network</span>.<span class="ident">magic</span>(),
- <span class="ident">NetworkMessage</span>::<span class="ident">Pong</span>(<span class="ident">nonce</span>),
+ <span class="ident">NetworkMessage::Pong</span>(<span class="ident">nonce</span>),
));
<span class="kw">continue</span>;
}
- <span class="ident">NetworkMessage</span>::<span class="ident">Alert</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="kw">continue</span>,
- <span class="ident">NetworkMessage</span>::<span class="ident">GetData</span>(<span class="kw-2">ref</span> <span class="ident">inv</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">NetworkMessage::Alert</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="kw">continue</span>,
+ <span class="ident">NetworkMessage::GetData</span>(<span class="kw-2">ref</span> <span class="ident">inv</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">found</span>, <span class="ident">not_found</span>): (<span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>) <span class="op">=</span> <span class="ident">inv</span>
.<span class="ident">iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">item</span><span class="op">|</span> (<span class="kw-2">*</span><span class="ident">item</span>, <span class="ident">reader_thread_mempool</span>.<span class="ident">get_tx</span>(<span class="ident">item</span>)))
.<span class="ident">partition</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">d</span>)<span class="op">|</span> <span class="ident">d</span>.<span class="ident">is_some</span>());
<span class="kw">for</span> (<span class="kw">_</span>, <span class="ident">found_tx</span>) <span class="kw">in</span> <span class="ident">found</span> {
- <span class="macro">check_disconnect</span><span class="macro">!</span>(<span class="self">Self</span>::<span class="ident">_send</span>(
+ <span class="macro">check_disconnect!</span>(<span class="self">Self</span><span class="ident">::_send</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">reader_thread_writer</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>(),
<span class="ident">network</span>.<span class="ident">magic</span>(),
- <span class="ident">NetworkMessage</span>::<span class="ident">Tx</span>(<span class="ident">found_tx</span>.<span class="ident">unwrap</span>()),
+ <span class="ident">NetworkMessage::Tx</span>(<span class="ident">found_tx</span>.<span class="ident">unwrap</span>()),
));
}
<span class="kw">if</span> <span class="op">!</span><span class="ident">not_found</span>.<span class="ident">is_empty</span>() {
- <span class="macro">check_disconnect</span><span class="macro">!</span>(<span class="self">Self</span>::<span class="ident">_send</span>(
+ <span class="macro">check_disconnect!</span>(<span class="self">Self</span><span class="ident">::_send</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">reader_thread_writer</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>(),
<span class="ident">network</span>.<span class="ident">magic</span>(),
- <span class="ident">NetworkMessage</span>::<span class="ident">NotFound</span>(
+ <span class="ident">NetworkMessage::NotFound</span>(
<span class="ident">not_found</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">i</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">i</span>).<span class="ident">collect</span>(),
),
));
<span class="kw">let</span> <span class="ident">message_resp</span> <span class="op">=</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">lock</span> <span class="op">=</span> <span class="ident">reader_thread_responses</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">message_resp</span> <span class="op">=</span> <span class="ident">lock</span>.<span class="ident">entry</span>(<span class="ident">in_message</span>.<span class="ident">cmd</span>()).<span class="ident">or_default</span>();
- <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">message_resp</span>)
+ <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">message_resp</span>)
};
<span class="kw">let</span> (<span class="ident">lock</span>, <span class="ident">cvar</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="kw-2">*</span><span class="ident">message_resp</span>;
<span class="doccomment">/// Send a raw Bitcoin message to the peer</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">send</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">payload</span>: <span class="ident">NetworkMessage</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">writer</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">writer</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>();
- <span class="self">Self</span>::<span class="ident">_send</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">writer</span>, <span class="self">self</span>.<span class="ident">network</span>.<span class="ident">magic</span>(), <span class="ident">payload</span>)
+ <span class="self">Self</span><span class="ident">::_send</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">writer</span>, <span class="self">self</span>.<span class="ident">network</span>.<span class="ident">magic</span>(), <span class="ident">payload</span>)
}
<span class="doccomment">/// Waits for a specific incoming Bitcoin message, optionally with a timeout</span>
<span class="ident">wait_for</span>: <span class="kw-2">&</span><span class="lifetime">'static</span> <span class="ident">str</span>,
<span class="ident">timeout</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Duration</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">NetworkMessage</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="self">Self</span>::<span class="ident">_recv</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">responses</span>, <span class="ident">wait_for</span>, <span class="ident">timeout</span>))
+ <span class="prelude-val">Ok</span>(<span class="self">Self</span><span class="ident">::_recv</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">responses</span>, <span class="ident">wait_for</span>, <span class="ident">timeout</span>))
}
}
<span class="ident">filter_type</span>: <span class="ident">u8</span>,
<span class="ident">stop_hash</span>: <span class="ident">BlockHash</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CFCheckpt</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetCFCheckpt</span>(<span class="ident">GetCFCheckpt</span> {
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetCFCheckpt</span>(<span class="ident">GetCFCheckpt</span> {
<span class="ident">filter_type</span>,
<span class="ident">stop_hash</span>,
}))<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="self">self</span>
- .<span class="ident">recv</span>(<span class="string">"cfcheckpt"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>;
+ .<span class="ident">recv</span>(<span class="string">"cfcheckpt"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">response</span> {
- <span class="ident">NetworkMessage</span>::<span class="ident">CFCheckpt</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="ident">NetworkMessage::CFCheckpt</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="kw">if</span> <span class="ident">response</span>.<span class="ident">filter_type</span> <span class="op">!</span><span class="op">=</span> <span class="ident">filter_type</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
}
<span class="prelude-val">Ok</span>(<span class="ident">response</span>)
<span class="ident">start_height</span>: <span class="ident">u32</span>,
<span class="ident">stop_hash</span>: <span class="ident">BlockHash</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CFHeaders</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetCFHeaders</span>(<span class="ident">GetCFHeaders</span> {
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetCFHeaders</span>(<span class="ident">GetCFHeaders</span> {
<span class="ident">filter_type</span>,
<span class="ident">start_height</span>,
<span class="ident">stop_hash</span>,
}))<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="self">self</span>
- .<span class="ident">recv</span>(<span class="string">"cfheaders"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>;
+ .<span class="ident">recv</span>(<span class="string">"cfheaders"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">response</span> {
- <span class="ident">NetworkMessage</span>::<span class="ident">CFHeaders</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="ident">NetworkMessage::CFHeaders</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="kw">if</span> <span class="ident">response</span>.<span class="ident">filter_type</span> <span class="op">!</span><span class="op">=</span> <span class="ident">filter_type</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
}
<span class="prelude-val">Ok</span>(<span class="ident">response</span>)
<span class="kw">fn</span> <span class="ident">pop_cf_filter_resp</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CFilter</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="self">self</span>
- .<span class="ident">recv</span>(<span class="string">"cfilter"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>;
+ .<span class="ident">recv</span>(<span class="string">"cfilter"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">response</span> {
- <span class="ident">NetworkMessage</span>::<span class="ident">CFilter</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="ident">NetworkMessage::CFilter</span>(<span class="ident">response</span>) <span class="op">=</span><span class="op">></span> <span class="ident">response</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="prelude-val">Ok</span>(<span class="ident">response</span>)
<span class="ident">start_height</span>: <span class="ident">u32</span>,
<span class="ident">stop_hash</span>: <span class="ident">BlockHash</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetCFilters</span>(<span class="ident">GetCFilters</span> {
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetCFilters</span>(<span class="ident">GetCFilters</span> {
<span class="ident">filter_type</span>,
<span class="ident">start_height</span>,
<span class="ident">stop_hash</span>,
<span class="kw">impl</span> <span class="ident">InvPeer</span> <span class="kw">for</span> <span class="ident">Peer</span> {
<span class="kw">fn</span> <span class="ident">get_block</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">block_hash</span>: <span class="ident">BlockHash</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Block</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetData</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Inventory</span>::<span class="ident">WitnessBlock</span>(
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetData</span>(<span class="macro">vec!</span>[<span class="ident">Inventory::WitnessBlock</span>(
<span class="ident">block_hash</span>,
)]))<span class="question-mark">?</span>;
- <span class="kw">match</span> <span class="self">self</span>.<span class="ident">recv</span>(<span class="string">"block"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span> {
+ <span class="kw">match</span> <span class="self">self</span>.<span class="ident">recv</span>(<span class="string">"block"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
- <span class="prelude-val">Some</span>(<span class="ident">NetworkMessage</span>::<span class="ident">Block</span>(<span class="ident">response</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">response</span>)),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">NetworkMessage::Block</span>(<span class="ident">response</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">response</span>)),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
}
}
<span class="kw">fn</span> <span class="ident">ask_for_mempool</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">version</span>.<span class="ident">services</span>.<span class="ident">has</span>(<span class="ident">ServiceFlags</span>::<span class="ident">BLOOM</span>) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">PeerBloomDisabled</span>);
+ <span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">version</span>.<span class="ident">services</span>.<span class="ident">has</span>(<span class="ident">ServiceFlags::BLOOM</span>) {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::PeerBloomDisabled</span>);
}
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">MemPool</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">inv</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>.<span class="ident">recv</span>(<span class="string">"inv"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="number">5</span>)))<span class="question-mark">?</span> {
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::MemPool</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">inv</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>.<span class="ident">recv</span>(<span class="string">"inv"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="number">5</span>)))<span class="question-mark">?</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Ok</span>(()), <span class="comment">// empty mempool</span>
- <span class="prelude-val">Some</span>(<span class="ident">NetworkMessage</span>::<span class="ident">Inv</span>(<span class="ident">inv</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">inv</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">NetworkMessage::Inv</span>(<span class="ident">inv</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">inv</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="kw">let</span> <span class="ident">getdata</span> <span class="op">=</span> <span class="ident">inv</span>
.<span class="ident">iter</span>()
.<span class="ident">cloned</span>()
.<span class="ident">filter</span>(
- <span class="op">|</span><span class="ident">item</span><span class="op">|</span> <span class="macro">matches</span><span class="macro">!</span>(<span class="ident">item</span>, <span class="ident">Inventory</span>::<span class="ident">Transaction</span>(<span class="ident">txid</span>) <span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">mempool</span>.<span class="ident">has_tx</span>(<span class="ident">txid</span>)),
+ <span class="op">|</span><span class="ident">item</span><span class="op">|</span> <span class="macro">matches!</span>(<span class="ident">item</span>, <span class="ident">Inventory::Transaction</span>(<span class="ident">txid</span>) <span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">mempool</span>.<span class="ident">has_tx</span>(<span class="ident">txid</span>)),
)
.<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>();
<span class="kw">let</span> <span class="ident">num_txs</span> <span class="op">=</span> <span class="ident">getdata</span>.<span class="ident">len</span>();
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetData</span>(<span class="ident">getdata</span>))<span class="question-mark">?</span>;
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetData</span>(<span class="ident">getdata</span>))<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">num_txs</span> {
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="self">self</span>
- .<span class="ident">recv</span>(<span class="string">"tx"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>;
+ .<span class="ident">recv</span>(<span class="string">"tx"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">tx</span> {
- <span class="ident">NetworkMessage</span>::<span class="ident">Tx</span>(<span class="ident">tx</span>) <span class="op">=</span><span class="op">></span> <span class="ident">tx</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="ident">NetworkMessage::Tx</span>(<span class="ident">tx</span>) <span class="op">=</span><span class="op">></span> <span class="ident">tx</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="self">self</span>.<span class="ident">mempool</span>.<span class="ident">add_tx</span>(<span class="ident">tx</span>);
<span class="kw">fn</span> <span class="ident">broadcast_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="self">self</span>.<span class="ident">mempool</span>.<span class="ident">add_tx</span>(<span class="ident">tx</span>.<span class="ident">clone</span>());
- <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">Tx</span>(<span class="ident">tx</span>))<span class="question-mark">?</span>;
+ <span class="self">self</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::Tx</span>(<span class="ident">tx</span>))<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
}
<!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="Source of the Rust file `src/blockchain/compact_filters/store.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>store.rs - source</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">TryInto</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">io</span>::{<span class="ident">Read</span>, <span class="ident">Write</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Deref</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">RwLock</span>;
+<span class="kw">use</span> <span class="ident">std::convert::TryInto</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
+<span class="kw">use</span> <span class="ident">std::io</span>::{<span class="ident">Read</span>, <span class="ident">Write</span>};
+<span class="kw">use</span> <span class="ident">std::marker::PhantomData</span>;
+<span class="kw">use</span> <span class="ident">std::ops::Deref</span>;
+<span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
+<span class="kw">use</span> <span class="ident">std::sync::RwLock</span>;
-<span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">distributions</span>::<span class="ident">Alphanumeric</span>;
+<span class="kw">use</span> <span class="ident">rand::distributions::Alphanumeric</span>;
<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">thread_rng</span>, <span class="ident">Rng</span>};
<span class="kw">use</span> <span class="ident">rocksdb</span>::{<span class="ident">Direction</span>, <span class="ident">IteratorMode</span>, <span class="ident">ReadOptions</span>, <span class="ident">WriteBatch</span>, <span class="ident">DB</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::{<span class="ident">deserialize</span>, <span class="ident">encode</span>::<span class="ident">VarInt</span>, <span class="ident">serialize</span>, <span class="ident">Decodable</span>, <span class="ident">Encodable</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::{<span class="ident">FilterHash</span>, <span class="ident">FilterHeader</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">Hash</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip158</span>::<span class="ident">BlockFilter</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">uint</span>::<span class="ident">Uint256</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Block</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">BlockHash</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">BlockHeader</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Network</span>;
-
-<span class="kw">use</span> <span class="ident">lazy_static</span>::<span class="ident">lazy_static</span>;
-
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">CompactFiltersError</span>;
-
-<span class="macro">lazy_static</span><span class="macro">!</span> {
- <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">MAINNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B7C0101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
- <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">TESTNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4ADAE5494DFFFF001D1AA4AE180101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
- <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">REGTEST_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4ADAE5494DFFFF7F20020000000101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
- <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">SIGNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A008F4D5FAE77031E8AD222030101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+<span class="kw">use</span> <span class="ident">bitcoin::consensus</span>::{<span class="ident">deserialize</span>, <span class="ident">encode::VarInt</span>, <span class="ident">serialize</span>, <span class="ident">Decodable</span>, <span class="ident">Encodable</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types</span>::{<span class="ident">FilterHash</span>, <span class="ident">FilterHeader</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hashes::Hash</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip158::BlockFilter</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::uint::Uint256</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::Block</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::BlockHash</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::BlockHeader</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::Network</span>;
+
+<span class="kw">use</span> <span class="ident">lazy_static::lazy_static</span>;
+
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::CompactFiltersError</span>;
+
+<span class="macro">lazy_static!</span> {
+ <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">MAINNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B7C0101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">TESTNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4ADAE5494DFFFF001D1AA4AE180101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">REGTEST_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4ADAE5494DFFFF7F20020000000101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">SIGNET_GENESIS</span>: <span class="ident">Block</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A008F4D5FAE77031E8AD222030101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000"</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
}
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">StoreType</span>: <span class="ident">Default</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> {}
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">StoreType</span>: <span class="ident">Default</span> <span class="op">+</span> <span class="ident">fmt::Debug</span> {}
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Default</span>, <span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Full</span>;
<span class="kw">impl</span> <span class="ident">StoreEntry</span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_prefix</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"z"</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"x"</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"i"</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"t"</span>,
+ <span class="ident">StoreEntry::BlockHeader</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"z"</span>,
+ <span class="ident">StoreEntry::Block</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"x"</span>,
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"i"</span>,
+ <span class="ident">StoreEntry::CFilterTable</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"t"</span>,
}
.<span class="ident">to_vec</span>()
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_key</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_prefix</span>();
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)) <span class="op">=</span><span class="op">></span> {
<span class="ident">prefix</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">height</span>.<span class="ident">to_be_bytes</span>())
}
- <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">prefix</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">height</span>.<span class="ident">to_be_bytes</span>()),
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">hash</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">prefix</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">height</span>.<span class="ident">to_be_bytes</span>()),
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">hash</span>)) <span class="op">=</span><span class="op">></span> {
<span class="ident">prefix</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">hash</span>.<span class="ident">into_inner</span>())
}
- <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="ident">filter_type</span>, <span class="ident">bundle_index</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">StoreEntry::CFilterTable</span>((<span class="ident">filter_type</span>, <span class="ident">bundle_index</span>)) <span class="op">=</span><span class="op">></span> {
<span class="ident">prefix</span>.<span class="ident">push</span>(<span class="kw-2">*</span><span class="ident">filter_type</span>);
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">bundle_index</span>) <span class="op">=</span> <span class="ident">bundle_index</span> {
<span class="ident">prefix</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">bundle_index</span>.<span class="ident">to_be_bytes</span>());
}
<span class="kw">fn</span> <span class="ident">deserialize</span>(<span class="ident">data</span>: <span class="kw-2">&</span>[<span class="ident">u8</span>]) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="ident">deserialize</span>(<span class="ident">data</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)
+ <span class="ident">deserialize</span>(<span class="ident">data</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)
}
}
<span class="kw">impl</span> <span class="ident">Encodable</span> <span class="kw">for</span> <span class="ident">BundleStatus</span> {
- <span class="kw">fn</span> <span class="ident">consensus_encode</span><span class="op"><</span><span class="ident">W</span>: <span class="ident">Write</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">e</span>: <span class="ident">W</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">usize</span>, <span class="ident">std</span>::<span class="ident">io</span>::<span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">consensus_encode</span><span class="op"><</span><span class="ident">W</span>: <span class="ident">Write</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">e</span>: <span class="ident">W</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">usize</span>, <span class="ident">std::io::Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">written</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">BundleStatus</span>::<span class="ident">Init</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::Init</span> <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x00u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
}
- <span class="ident">BundleStatus</span>::<span class="ident">CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x01u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">VarInt</span>(<span class="ident">cf_headers</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">u64</span>).<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">header</span> <span class="kw">in</span> <span class="ident">cf_headers</span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">header</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
}
}
- <span class="ident">BundleStatus</span>::<span class="ident">CFilters</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::CFilters</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x02u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">VarInt</span>(<span class="ident">cf_filters</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">u64</span>).<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">filter</span> <span class="kw">in</span> <span class="ident">cf_filters</span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">filter</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
}
}
- <span class="ident">BundleStatus</span>::<span class="ident">Processed</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::Processed</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x03u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">VarInt</span>(<span class="ident">cf_filters</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">u64</span>).<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">filter</span> <span class="kw">in</span> <span class="ident">cf_filters</span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">filter</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
}
}
- <span class="ident">BundleStatus</span>::<span class="ident">Pruned</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::Pruned</span> <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x04u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
}
- <span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">BundleStatus::Tip</span> { <span class="ident">cf_filters</span> } <span class="op">=</span><span class="op">></span> {
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="number">0x05u8</span>.<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="ident">written</span> <span class="op">+</span><span class="op">=</span> <span class="ident">VarInt</span>(<span class="ident">cf_filters</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">u64</span>).<span class="ident">consensus_encode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">e</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">filter</span> <span class="kw">in</span> <span class="ident">cf_filters</span> {
}
<span class="kw">impl</span> <span class="ident">Decodable</span> <span class="kw">for</span> <span class="ident">BundleStatus</span> {
- <span class="kw">fn</span> <span class="ident">consensus_decode</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Read</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">d</span>: <span class="ident">D</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">byte_type</span> <span class="op">=</span> <span class="ident">u8</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
+ <span class="kw">fn</span> <span class="ident">consensus_decode</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Read</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">d</span>: <span class="ident">D</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">bitcoin::consensus::encode::Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">byte_type</span> <span class="op">=</span> <span class="ident">u8::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
<span class="kw">match</span> <span class="ident">byte_type</span> {
- <span class="number">0x00</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">Init</span>),
+ <span class="number">0x00</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::Init</span>),
<span class="number">0x01</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">num</span>.<span class="number">0</span> <span class="kw">as</span> <span class="ident">usize</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_headers</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">num</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_headers</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">num</span>);
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">num</span> {
- <span class="ident">cf_headers</span>.<span class="ident">push</span>(<span class="ident">FilterHeader</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
+ <span class="ident">cf_headers</span>.<span class="ident">push</span>(<span class="ident">FilterHeader::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">CfHeaders</span> { <span class="ident">cf_headers</span> })
+ <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::CfHeaders</span> { <span class="ident">cf_headers</span> })
}
<span class="number">0x02</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">num</span>.<span class="number">0</span> <span class="kw">as</span> <span class="ident">usize</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">num</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">num</span>);
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">num</span> {
- <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
+ <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">CFilters</span> { <span class="ident">cf_filters</span> })
+ <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::CFilters</span> { <span class="ident">cf_filters</span> })
}
<span class="number">0x03</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">num</span>.<span class="number">0</span> <span class="kw">as</span> <span class="ident">usize</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">num</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">num</span>);
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">num</span> {
- <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
+ <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">Processed</span> { <span class="ident">cf_filters</span> })
+ <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::Processed</span> { <span class="ident">cf_filters</span> })
}
- <span class="number">0x04</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">Pruned</span>),
+ <span class="number">0x04</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::Pruned</span>),
<span class="number">0x05</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt</span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">VarInt::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">num</span> <span class="op">=</span> <span class="ident">num</span>.<span class="number">0</span> <span class="kw">as</span> <span class="ident">usize</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">num</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cf_filters</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">num</span>);
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">num</span> {
- <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
+ <span class="ident">cf_filters</span>.<span class="ident">push</span>(<span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::consensus_decode</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">d</span>)<span class="question-mark">?</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { <span class="ident">cf_filters</span> })
+ <span class="prelude-val">Ok</span>(<span class="ident">BundleStatus::Tip</span> { <span class="ident">cf_filters</span> })
}
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span>::<span class="ident">ParseFailed</span>(
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">bitcoin::consensus::encode::Error::ParseFailed</span>(
<span class="string">"Invalid byte type"</span>,
)),
}
<span class="kw">impl</span> <span class="ident">ChainStore</span><span class="op"><</span><span class="ident">Full</span><span class="op">></span> {
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">store</span>: <span class="ident">DB</span>, <span class="ident">network</span>: <span class="ident">Network</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">genesis</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">network</span> {
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span> <span class="op">=</span><span class="op">></span> <span class="ident">MAINNET_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Testnet</span> <span class="op">=</span><span class="op">></span> <span class="ident">TESTNET_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Regtest</span> <span class="op">=</span><span class="op">></span> <span class="ident">REGTEST_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Signet</span> <span class="op">=</span><span class="op">></span> <span class="ident">SIGNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Bitcoin</span> <span class="op">=</span><span class="op">></span> <span class="ident">MAINNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Testnet</span> <span class="op">=</span><span class="op">></span> <span class="ident">TESTNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Regtest</span> <span class="op">=</span><span class="op">></span> <span class="ident">REGTEST_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Signet</span> <span class="op">=</span><span class="op">></span> <span class="ident">SIGNET_GENESIS</span>.<span class="ident">deref</span>(),
};
<span class="kw">let</span> <span class="ident">cf_name</span> <span class="op">=</span> <span class="string">"default"</span>.<span class="ident">to_string</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">genesis_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="number">0</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">genesis_key</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="number">0</span>)).<span class="ident">get_key</span>();
<span class="kw">if</span> <span class="ident">store</span>.<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="kw-2">&</span><span class="ident">genesis_key</span>)<span class="question-mark">?</span>.<span class="ident">is_none</span>() {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">cf_handle</span>,
<span class="ident">genesis_key</span>,
);
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">genesis</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">genesis</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
<span class="kw-2">&</span><span class="number">0usize</span>.<span class="ident">to_be_bytes</span>(),
);
<span class="ident">store</span>.<span class="ident">write</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="ident">ChainStore</span> {
- <span class="ident">store</span>: <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">RwLock</span>::<span class="ident">new</span>(<span class="ident">store</span>)),
+ <span class="ident">store</span>: <span class="ident">Arc::new</span>(<span class="ident">RwLock::new</span>(<span class="ident">store</span>)),
<span class="ident">cf_name</span>,
<span class="ident">min_height</span>: <span class="number">0</span>,
<span class="ident">network</span>,
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_locators</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span>(<span class="ident">BlockHash</span>, <span class="ident">usize</span>)<span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">step</span> <span class="op">=</span> <span class="number">1</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_height</span>()<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">let</span> <span class="ident">store_read</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">store_read</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
<span class="ident">step</span> <span class="kw-2">*</span><span class="op">=</span> <span class="number">2</span>;
}
- <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(
+ <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(
<span class="kw-2">&</span><span class="ident">store_read</span>
- .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">index</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
+ .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">index</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
.<span class="ident">unwrap</span>(),
)<span class="question-mark">?</span>;
<span class="ident">answer</span>.<span class="ident">push</span>((<span class="ident">header</span>.<span class="ident">block_hash</span>(), <span class="ident">index</span>));
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">start_snapshot</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">from</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ChainStore</span><span class="op"><</span><span class="ident">Snapshot</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">new_cf_name</span>: <span class="ident">String</span> <span class="op">=</span> <span class="ident">thread_rng</span>().<span class="ident">sample_iter</span>(<span class="kw-2">&</span><span class="ident">Alphanumeric</span>).<span class="ident">take</span>(<span class="number">16</span>).<span class="ident">collect</span>();
- <span class="kw">let</span> <span class="ident">new_cf_name</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(<span class="string">"_headers:{}"</span>, <span class="ident">new_cf_name</span>);
+ <span class="kw">let</span> <span class="ident">new_cf_name</span> <span class="op">=</span> <span class="macro">format!</span>(<span class="string">"_headers:{}"</span>, <span class="ident">new_cf_name</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">write_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>();
- <span class="ident">write_store</span>.<span class="ident">create_cf</span>(<span class="kw-2">&</span><span class="ident">new_cf_name</span>, <span class="kw-2">&</span><span class="ident">Default</span>::<span class="ident">default</span>())<span class="question-mark">?</span>;
+ <span class="ident">write_store</span>.<span class="ident">create_cf</span>(<span class="kw-2">&</span><span class="ident">new_cf_name</span>, <span class="kw-2">&</span><span class="ident">Default::default</span>())<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">write_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">new_cf_handle</span> <span class="op">=</span> <span class="ident">write_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="ident">new_cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> (<span class="ident">header</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(
+ <span class="kw">let</span> (<span class="ident">header</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(
<span class="kw-2">&</span><span class="ident">write_store</span>
- .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>,
+ .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>,
)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">new_cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
<span class="kw-2">&</span><span class="ident">from</span>.<span class="ident">to_be_bytes</span>(),
);
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">new_cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>(),
(<span class="ident">header</span>, <span class="ident">work</span>).<span class="ident">serialize</span>(),
);
<span class="ident">write_store</span>.<span class="ident">write</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">store</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">store</span>);
+ <span class="kw">let</span> <span class="ident">store</span> <span class="op">=</span> <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">store</span>);
<span class="prelude-val">Ok</span>(<span class="ident">ChainStore</span> {
<span class="ident">store</span>,
<span class="ident">cf_name</span>: <span class="ident">new_cf_name</span>,
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">write_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">snapshot_cf_handle</span> <span class="op">=</span> <span class="ident">write_store</span>.<span class="ident">cf_handle</span>(<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">write_store</span>.<span class="ident">prefix_iterator_cf</span>(<span class="ident">snapshot_cf_handle</span>, <span class="ident">prefix</span>);
<span class="kw">let</span> <span class="ident">min_height</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">iterator</span>
.<span class="ident">next</span>()
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span>[<span class="number">1</span>..].<span class="ident">try_into</span>().<span class="ident">ok</span>())
- .<span class="ident">map</span>(<span class="ident">usize</span>::<span class="ident">from_be_bytes</span>)
+ .<span class="ident">map</span>(<span class="ident">usize::from_be_bytes</span>)
{
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> {
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">iterator</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">iterator</span>);
<span class="ident">write_store</span>.<span class="ident">drop_cf</span>(<span class="ident">cf_name</span>).<span class="ident">ok</span>();
<span class="kw">return</span> <span class="prelude-val">Ok</span>(());
}
<span class="prelude-val">Some</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">></span> <span class="ident">x</span>,
};
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">iterator</span>);
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">write_store</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">iterator</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">write_store</span>);
<span class="kw">let</span> <span class="ident">snapshot</span> <span class="op">=</span> <span class="ident">ChainStore</span> {
- <span class="ident">store</span>: <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">store</span>),
+ <span class="ident">store</span>: <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">store</span>),
<span class="ident">cf_name</span>: <span class="ident">cf_name</span>.<span class="ident">into</span>(),
<span class="ident">min_height</span>,
<span class="ident">network</span>: <span class="self">self</span>.<span class="ident">network</span>,
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">snaphost</span>: <span class="ident">ChainStore</span><span class="op"><</span><span class="ident">Snapshot</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">snapshot_cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="ident">snaphost</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">snaphost</span>.<span class="ident">min_height</span>)).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">usize</span>::<span class="ident">MAX</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">snaphost</span>.<span class="ident">min_height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">usize::MAX</span>)).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">opts</span> <span class="op">=</span> <span class="ident">ReadOptions</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">opts</span> <span class="op">=</span> <span class="ident">ReadOptions::default</span>();
<span class="ident">opts</span>.<span class="ident">set_iterate_upper_bound</span>(<span class="ident">to_key</span>.<span class="ident">clone</span>());
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Removing items"</span>);
+ <span class="macro">log::debug!</span>(<span class="string">"Removing items"</span>);
<span class="ident">batch</span>.<span class="ident">delete_range_cf</span>(<span class="ident">cf_handle</span>, <span class="kw-2">&</span><span class="ident">from_key</span>, <span class="kw-2">&</span><span class="ident">to_key</span>);
<span class="kw">for</span> (<span class="kw">_</span>, <span class="ident">v</span>) <span class="kw">in</span> <span class="ident">read_store</span>.<span class="ident">iterator_cf_opt</span>(
<span class="ident">cf_handle</span>,
<span class="ident">opts</span>,
- <span class="ident">IteratorMode</span>::<span class="ident">From</span>(<span class="kw-2">&</span><span class="ident">from_key</span>, <span class="ident">Direction</span>::<span class="ident">Forward</span>),
+ <span class="ident">IteratorMode::From</span>(<span class="kw-2">&</span><span class="ident">from_key</span>, <span class="ident">Direction::Forward</span>),
) {
- <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
<span class="ident">batch</span>.<span class="ident">delete_cf</span>(
<span class="ident">cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
);
}
<span class="comment">// Delete full blocks overriden by snapshot</span>
- <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">snaphost</span>.<span class="ident">min_height</span>)).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">usize</span>::<span class="ident">MAX</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">snaphost</span>.<span class="ident">min_height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">usize::MAX</span>)).<span class="ident">get_key</span>();
<span class="ident">batch</span>.<span class="ident">delete_range</span>(<span class="kw-2">&</span><span class="ident">from_key</span>, <span class="kw-2">&</span><span class="ident">to_key</span>);
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Copying over new items"</span>);
- <span class="kw">for</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="kw">in</span> <span class="ident">read_store</span>.<span class="ident">iterator_cf</span>(<span class="ident">snapshot_cf_handle</span>, <span class="ident">IteratorMode</span>::<span class="ident">Start</span>) {
+ <span class="macro">log::debug!</span>(<span class="string">"Copying over new items"</span>);
+ <span class="kw">for</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="kw">in</span> <span class="ident">read_store</span>.<span class="ident">iterator_cf</span>(<span class="ident">snapshot_cf_handle</span>, <span class="ident">IteratorMode::Start</span>) {
<span class="ident">batch</span>.<span class="ident">put_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">k</span>, <span class="ident">v</span>);
}
<span class="ident">read_store</span>.<span class="ident">write</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">read_store</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">read_store</span>);
<span class="self">self</span>.<span class="ident">store</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>().<span class="ident">drop_cf</span>(<span class="kw-2">&</span><span class="ident">snaphost</span>.<span class="ident">cf_name</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">block_hash</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">block_hash</span>)).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">key</span>)<span class="question-mark">?</span>;
<span class="ident">data</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> {
- <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>(<span class="ident">usize</span>::<span class="ident">from_be_bytes</span>(
+ <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>(<span class="ident">usize::from_be_bytes</span>(
<span class="ident">data</span>.<span class="ident">as_ref</span>()
.<span class="ident">try_into</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>,
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>,
))
})
.<span class="ident">transpose</span>()
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">key</span>)<span class="question-mark">?</span>;
<span class="ident">data</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> {
<span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span>
- <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>;
+ <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())
})
.<span class="ident">transpose</span>()
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">save_full_block</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">block</span>: <span class="kw-2">&</span><span class="ident">Block</span>, <span class="ident">height</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
<span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>().<span class="ident">put</span>(<span class="ident">key</span>, <span class="ident">block</span>.<span class="ident">serialize</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_full_block</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">height</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Block</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">opt_block</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">get_pinned</span>(<span class="ident">key</span>)<span class="question-mark">?</span>;
<span class="ident">opt_block</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
.<span class="ident">transpose</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">delete_blocks_until</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">height</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="number">0</span>)).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">from_key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="number">0</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">to_key</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="ident">batch</span>.<span class="ident">delete_range</span>(<span class="kw-2">&</span><span class="ident">from_key</span>, <span class="kw-2">&</span><span class="ident">to_key</span>);
<span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>().<span class="ident">write</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">iter_full_blocks</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span>(<span class="ident">usize</span>, <span class="ident">Block</span>)<span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">Block</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::Block</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator</span>(<span class="kw-2">&</span><span class="ident">prefix</span>);
<span class="comment">// FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't</span>
<span class="ident">iterator</span>
.<span class="ident">filter</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span>.<span class="ident">starts_with</span>(<span class="kw-2">&</span><span class="ident">prefix</span>))
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="op">|</span> {
- <span class="kw">let</span> <span class="ident">height</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="ident">usize</span>::<span class="ident">from_be_bytes</span>(
+ <span class="kw">let</span> <span class="ident">height</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="ident">usize::from_be_bytes</span>(
<span class="ident">k</span>[<span class="number">1</span>..]
.<span class="ident">try_into</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>,
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>,
);
- <span class="kw">let</span> <span class="ident">block</span> <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">block</span> <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>((<span class="ident">height</span>, <span class="ident">block</span>))
})
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">prefix</span>);
<span class="prelude-val">Ok</span>(<span class="ident">iterator</span>
.<span class="ident">last</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">work</span>)
})
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">prefix</span>);
<span class="prelude-val">Ok</span>(<span class="ident">iterator</span>
.<span class="ident">last</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">height</span> <span class="op">=</span> <span class="ident">usize</span>::<span class="ident">from_be_bytes</span>(
+ <span class="kw">let</span> <span class="ident">height</span> <span class="op">=</span> <span class="ident">usize::from_be_bytes</span>(
<span class="ident">k</span>[<span class="number">1</span>..]
.<span class="ident">try_into</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>,
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>,
);
<span class="prelude-val">Ok</span>(<span class="ident">height</span>)
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">None</span>).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">prefix</span>);
<span class="ident">iterator</span>
.<span class="ident">last</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> (<span class="ident">header</span>, <span class="kw">_</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())
})
<span class="ident">from</span>: <span class="ident">usize</span>,
<span class="ident">headers</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">BlockHeader</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BlockHash</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">cf_handle</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">cf_handle</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">last_hash</span>, <span class="kw-2">mut</span> <span class="ident">accumulated_work</span>) <span class="op">=</span> <span class="ident">read_store</span>
- .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
+ .<span class="ident">get_pinned_cf</span>(<span class="ident">cf_handle</span>, <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">from</span>)).<span class="ident">get_key</span>())<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">result</span><span class="op">|</span> {
- <span class="kw">let</span> (<span class="ident">header</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">result</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> (<span class="ident">header</span>, <span class="ident">work</span>): (<span class="ident">BlockHeader</span>, <span class="ident">Uint256</span>) <span class="op">=</span> <span class="ident">SerializeDb::deserialize</span>(<span class="kw-2">&</span><span class="ident">result</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>((<span class="ident">header</span>.<span class="ident">block_hash</span>(), <span class="ident">work</span>))
})
.<span class="ident">transpose</span>()<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">DataCorruption</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::DataCorruption</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">header</span>) <span class="kw">in</span> <span class="ident">headers</span>.<span class="ident">into_iter</span>().<span class="ident">enumerate</span>() {
<span class="kw">if</span> <span class="ident">header</span>.<span class="ident">prev_blockhash</span> <span class="op">!</span><span class="op">=</span> <span class="ident">last_hash</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidHeaders</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidHeaders</span>);
}
<span class="ident">last_hash</span> <span class="op">=</span> <span class="ident">header</span>.<span class="ident">block_hash</span>();
<span class="kw">let</span> <span class="ident">height</span> <span class="op">=</span> <span class="ident">from</span> <span class="op">+</span> <span class="ident">index</span> <span class="op">+</span> <span class="number">1</span>;
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeaderIndex</span>(<span class="prelude-val">Some</span>(<span class="ident">header</span>.<span class="ident">block_hash</span>())).<span class="ident">get_key</span>(),
<span class="kw-2">&</span>(<span class="ident">height</span>).<span class="ident">to_be_bytes</span>(),
);
<span class="ident">batch</span>.<span class="ident">put_cf</span>(
<span class="ident">cf_handle</span>,
- <span class="ident">StoreEntry</span>::<span class="ident">BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>(),
+ <span class="ident">StoreEntry::BlockHeader</span>(<span class="prelude-val">Some</span>(<span class="ident">height</span>)).<span class="ident">get_key</span>(),
(<span class="ident">header</span>, <span class="ident">accumulated_work</span>).<span class="ident">serialize</span>(),
);
}
- <span class="ident">std</span>::<span class="ident">mem</span>::<span class="ident">drop</span>(<span class="ident">read_store</span>);
+ <span class="ident">std::mem::drop</span>(<span class="ident">read_store</span>);
<span class="self">self</span>.<span class="ident">store</span>.<span class="ident">write</span>().<span class="ident">unwrap</span>().<span class="ident">write</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">last_hash</span>)
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">StoreType</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">ChainStore</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="ident">f</span>.<span class="ident">debug_struct</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"ChainStore<{:?}>"</span>, <span class="ident">T</span>::<span class="ident">default</span>()))
+<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">StoreType</span><span class="op">></span> <span class="ident">fmt::Debug</span> <span class="kw">for</span> <span class="ident">ChainStore</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="ident">f</span>.<span class="ident">debug_struct</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"ChainStore<{:?}>"</span>, <span class="ident">T::default</span>()))
.<span class="ident">field</span>(<span class="string">"cf_name"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">cf_name</span>)
.<span class="ident">field</span>(<span class="string">"min_height"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">min_height</span>)
.<span class="ident">field</span>(<span class="string">"network"</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">network</span>)
<span class="ident">filter_type</span>: <span class="ident">u8</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">cf_store</span> <span class="op">=</span> <span class="ident">CfStore</span> {
- <span class="ident">store</span>: <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&</span><span class="ident">headers_store</span>.<span class="ident">store</span>),
+ <span class="ident">store</span>: <span class="ident">Arc::clone</span>(<span class="kw-2">&</span><span class="ident">headers_store</span>.<span class="ident">store</span>),
<span class="ident">filter_type</span>,
};
<span class="kw">let</span> <span class="ident">genesis</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">headers_store</span>.<span class="ident">network</span> {
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span> <span class="op">=</span><span class="op">></span> <span class="ident">MAINNET_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Testnet</span> <span class="op">=</span><span class="op">></span> <span class="ident">TESTNET_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Regtest</span> <span class="op">=</span><span class="op">></span> <span class="ident">REGTEST_GENESIS</span>.<span class="ident">deref</span>(),
- <span class="ident">Network</span>::<span class="ident">Signet</span> <span class="op">=</span><span class="op">></span> <span class="ident">SIGNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Bitcoin</span> <span class="op">=</span><span class="op">></span> <span class="ident">MAINNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Testnet</span> <span class="op">=</span><span class="op">></span> <span class="ident">TESTNET_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Regtest</span> <span class="op">=</span><span class="op">></span> <span class="ident">REGTEST_GENESIS</span>.<span class="ident">deref</span>(),
+ <span class="ident">Network::Signet</span> <span class="op">=</span><span class="op">></span> <span class="ident">SIGNET_GENESIS</span>.<span class="ident">deref</span>(),
};
- <span class="kw">let</span> <span class="ident">filter</span> <span class="op">=</span> <span class="ident">BlockFilter</span>::<span class="ident">new_script_filter</span>(<span class="ident">genesis</span>, <span class="op">|</span><span class="ident">utxo</span><span class="op">|</span> {
- <span class="prelude-val">Err</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip158</span>::<span class="ident">Error</span>::<span class="ident">UtxoMissing</span>(<span class="kw-2">*</span><span class="ident">utxo</span>))
+ <span class="kw">let</span> <span class="ident">filter</span> <span class="op">=</span> <span class="ident">BlockFilter::new_script_filter</span>(<span class="ident">genesis</span>, <span class="op">|</span><span class="ident">utxo</span><span class="op">|</span> {
+ <span class="prelude-val">Err</span>(<span class="ident">bitcoin::util::bip158::Error::UtxoMissing</span>(<span class="kw-2">*</span><span class="ident">utxo</span>))
})<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">first_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="number">0</span>))).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">first_key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="number">0</span>))).<span class="ident">get_key</span>();
<span class="comment">// Add the genesis' filter</span>
{
<span class="ident">read_store</span>.<span class="ident">put</span>(
<span class="kw-2">&</span><span class="ident">first_key</span>,
(
- <span class="ident">BundleStatus</span>::<span class="ident">Init</span>,
- <span class="ident">filter</span>.<span class="ident">filter_header</span>(<span class="kw-2">&</span><span class="ident">FilterHeader</span>::<span class="ident">from_hash</span>(<span class="ident">Default</span>::<span class="ident">default</span>())),
+ <span class="ident">BundleStatus::Init</span>,
+ <span class="ident">filter</span>.<span class="ident">filter_header</span>(<span class="kw-2">&</span><span class="ident">FilterHeader::from_hash</span>(<span class="ident">Default::default</span>())),
)
.<span class="ident">serialize</span>(),
)<span class="question-mark">?</span>;
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_bundles</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">BundleEntry</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">None</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">None</span>)).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator</span>(<span class="kw-2">&</span><span class="ident">prefix</span>);
<span class="comment">// FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't</span>
<span class="comment">// have the right prefix</span>
<span class="ident">iterator</span>
.<span class="ident">filter</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span>.<span class="ident">starts_with</span>(<span class="kw-2">&</span><span class="ident">prefix</span>))
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">data</span>)<span class="op">|</span> <span class="ident">BundleEntry</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">data</span>)<span class="op">|</span> <span class="ident">BundleEntry::deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_checkpoints</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">FilterHeader</span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">None</span>)).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">prefix</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">None</span>)).<span class="ident">get_key</span>();
<span class="kw">let</span> <span class="ident">iterator</span> <span class="op">=</span> <span class="ident">read_store</span>.<span class="ident">prefix_iterator</span>(<span class="kw-2">&</span><span class="ident">prefix</span>);
<span class="comment">// FIXME: we have to filter manually because rocksdb sometimes returns stuff that doesn't</span>
<span class="ident">iterator</span>
.<span class="ident">filter</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span>.<span class="ident">starts_with</span>(<span class="kw-2">&</span><span class="ident">prefix</span>))
.<span class="ident">skip</span>(<span class="number">1</span>)
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">data</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>(<span class="ident">BundleEntry</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>)<span class="question-mark">?</span>.<span class="number">1</span>))
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">data</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">CompactFiltersError</span><span class="op">></span>(<span class="ident">BundleEntry::deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>)<span class="question-mark">?</span>.<span class="number">1</span>))
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
}
}
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">WriteBatch::default</span>();
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">filter_hash</span>) <span class="kw">in</span> <span class="ident">checkpoints</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>().<span class="ident">skip</span>(<span class="ident">equal_bundles</span>) {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">index</span> <span class="op">+</span> <span class="number">1</span>))).<span class="ident">get_key</span>(); <span class="comment">// +1 to skip the genesis' filter</span>
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">index</span> <span class="op">+</span> <span class="number">1</span>))).<span class="ident">get_key</span>(); <span class="comment">// +1 to skip the genesis' filter</span>
- <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { .. }, <span class="kw">_</span>)) <span class="op">=</span> <span class="ident">read_store</span>
+ <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="ident">BundleStatus::Tip</span> { .. }, <span class="kw">_</span>)) <span class="op">=</span> <span class="ident">read_store</span>
.<span class="ident">get_pinned</span>(<span class="kw-2">&</span><span class="ident">key</span>)<span class="question-mark">?</span>
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> <span class="ident">BundleEntry</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> <span class="ident">BundleEntry::deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
.<span class="ident">transpose</span>()<span class="question-mark">?</span>
{
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"Keeping bundle #{} as Tip"</span>, <span class="ident">index</span>);
+ <span class="macro">println!</span>(<span class="string">"Keeping bundle #{} as Tip"</span>, <span class="ident">index</span>);
} <span class="kw">else</span> {
- <span class="ident">batch</span>.<span class="ident">put</span>(<span class="kw-2">&</span><span class="ident">key</span>, (<span class="ident">BundleStatus</span>::<span class="ident">Init</span>, <span class="kw-2">*</span><span class="ident">filter_hash</span>).<span class="ident">serialize</span>());
+ <span class="ident">batch</span>.<span class="ident">put</span>(<span class="kw-2">&</span><span class="ident">key</span>, (<span class="ident">BundleStatus::Init</span>, <span class="kw-2">*</span><span class="ident">filter_hash</span>).<span class="ident">serialize</span>());
}
}
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">next_key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span> <span class="op">+</span> <span class="number">1</span>))).<span class="ident">get_key</span>(); <span class="comment">// +1 to skip the genesis' filter</span>
+ <span class="kw">let</span> <span class="ident">next_key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span> <span class="op">+</span> <span class="number">1</span>))).<span class="ident">get_key</span>(); <span class="comment">// +1 to skip the genesis' filter</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="kw">_</span>, <span class="ident">next_checkpoint</span>)) <span class="op">=</span> <span class="ident">read_store</span>
.<span class="ident">get_pinned</span>(<span class="kw-2">&</span><span class="ident">next_key</span>)<span class="question-mark">?</span>
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> <span class="ident">BundleEntry</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">data</span><span class="op">|</span> <span class="ident">BundleEntry::deserialize</span>(<span class="kw-2">&</span><span class="ident">data</span>))
.<span class="ident">transpose</span>()<span class="question-mark">?</span>
{
<span class="comment">// check connection with the next bundle if present</span>
<span class="kw">if</span> <span class="ident">cf_headers</span>.<span class="ident">iter</span>().<span class="ident">last</span>() <span class="op">!</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">next_checkpoint</span>) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidFilterHeader</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidFilterHeader</span>);
}
}
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus</span>::<span class="ident">CfHeaders</span> { <span class="ident">cf_headers</span> }, <span class="ident">checkpoint</span>);
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus::CfHeaders</span> { <span class="ident">cf_headers</span> }, <span class="ident">checkpoint</span>);
<span class="ident">read_store</span>.<span class="ident">put</span>(<span class="ident">key</span>, <span class="ident">value</span>.<span class="ident">serialize</span>())<span class="question-mark">?</span>;
.<span class="ident">into_iter</span>()
.<span class="ident">zip</span>(<span class="ident">headers</span>.<span class="ident">into_iter</span>())
.<span class="ident">scan</span>(<span class="ident">checkpoint</span>, <span class="op">|</span><span class="ident">prev_header</span>, ((<span class="kw">_</span>, <span class="ident">filter_content</span>), <span class="ident">header</span>)<span class="op">|</span> {
- <span class="kw">let</span> <span class="ident">filter</span> <span class="op">=</span> <span class="ident">BlockFilter</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">filter_content</span>);
+ <span class="kw">let</span> <span class="ident">filter</span> <span class="op">=</span> <span class="ident">BlockFilter::new</span>(<span class="kw-2">&</span><span class="ident">filter_content</span>);
<span class="kw">if</span> <span class="ident">header</span> <span class="op">!</span><span class="op">=</span> <span class="ident">filter</span>.<span class="ident">filter_header</span>(<span class="kw-2">&</span><span class="ident">prev_header</span>) {
- <span class="kw">return</span> <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidFilter</span>));
+ <span class="kw">return</span> <span class="prelude-val">Some</span>(<span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidFilter</span>));
}
<span class="kw-2">*</span><span class="ident">prev_header</span> <span class="op">=</span> <span class="ident">header</span>;
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus</span>::<span class="ident">CFilters</span> { <span class="ident">cf_filters</span> }, <span class="ident">checkpoint</span>);
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus::CFilters</span> { <span class="ident">cf_filters</span> }, <span class="ident">checkpoint</span>);
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="ident">read_store</span>.<span class="ident">put</span>(<span class="ident">key</span>, <span class="ident">value</span>.<span class="ident">serialize</span>())<span class="question-mark">?</span>;
<span class="ident">bundle</span>: <span class="ident">usize</span>,
<span class="ident">checkpoint</span>: <span class="ident">FilterHeader</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BundleStatus</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus</span>::<span class="ident">Pruned</span>, <span class="ident">checkpoint</span>);
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus::Pruned</span>, <span class="ident">checkpoint</span>);
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="ident">read_store</span>.<span class="ident">put</span>(<span class="ident">key</span>, <span class="ident">value</span>.<span class="ident">serialize</span>())<span class="question-mark">?</span>;
<span class="ident">cf_filters</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="op">></span>,
<span class="ident">checkpoint</span>: <span class="ident">FilterHeader</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BundleStatus</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry</span>::<span class="ident">CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { <span class="ident">cf_filters</span> }, <span class="ident">checkpoint</span>);
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">StoreEntry::CFilterTable</span>((<span class="self">self</span>.<span class="ident">filter_type</span>, <span class="prelude-val">Some</span>(<span class="ident">bundle</span>))).<span class="ident">get_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> (<span class="ident">BundleStatus::Tip</span> { <span class="ident">cf_filters</span> }, <span class="ident">checkpoint</span>);
<span class="kw">let</span> <span class="ident">read_store</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">store</span>.<span class="ident">read</span>().<span class="ident">unwrap</span>();
<span class="ident">read_store</span>.<span class="ident">put</span>(<span class="ident">key</span>, <span class="ident">value</span>.<span class="ident">serialize</span>())<span class="question-mark">?</span>;
<!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="Source of the Rust file `src/blockchain/compact_filters/sync.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>sync.rs - source</title><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../../storage.js"></script><script src="../../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashMap</span>, <span class="ident">VecDeque</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::{<span class="ident">Arc</span>, <span class="ident">Mutex</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">Duration</span>;
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashMap</span>, <span class="ident">VecDeque</span>};
+<span class="kw">use</span> <span class="ident">std::sync</span>::{<span class="ident">Arc</span>, <span class="ident">Mutex</span>};
+<span class="kw">use</span> <span class="ident">std::time::Duration</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::{<span class="ident">BlockHash</span>, <span class="ident">FilterHeader</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message</span>::<span class="ident">NetworkMessage</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">message_blockdata</span>::<span class="ident">GetHeadersMessage</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip158</span>::<span class="ident">BlockFilter</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types</span>::{<span class="ident">BlockHash</span>, <span class="ident">FilterHeader</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::network::message::NetworkMessage</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::network::message_blockdata::GetHeadersMessage</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip158::BlockFilter</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">peer</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">store</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">CompactFiltersError</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::peer</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::store</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::CompactFiltersError</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">const</span> <span class="ident">BURIED_CONFIRMATIONS</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">100</span>;
<span class="ident">skip_blocks</span>: <span class="ident">usize</span>,
<span class="ident">filter_type</span>: <span class="ident">u8</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">cf_store</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">CfStore</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">headers_store</span>, <span class="ident">filter_type</span>)<span class="question-mark">?</span>);
+ <span class="kw">let</span> <span class="ident">cf_store</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">CfStore::new</span>(<span class="kw-2">&</span><span class="ident">headers_store</span>, <span class="ident">filter_type</span>)<span class="question-mark">?</span>);
<span class="prelude-val">Ok</span>(<span class="ident">CfSync</span> {
<span class="ident">headers_store</span>,
<span class="ident">cf_store</span>,
<span class="ident">skip_blocks</span>,
- <span class="ident">bundles</span>: <span class="ident">Mutex</span>::<span class="ident">new</span>(<span class="ident">VecDeque</span>::<span class="ident">new</span>()),
+ <span class="ident">bundles</span>: <span class="ident">Mutex::new</span>(<span class="ident">VecDeque::new</span>()),
})
}
.<span class="ident">into_iter</span>()
.<span class="ident">skip</span>(<span class="self">self</span>.<span class="ident">skip_blocks</span> <span class="op">/</span> <span class="number">1000</span>)
.<span class="ident">fold</span>(<span class="number">0</span>, <span class="op">|</span><span class="ident">acc</span>, (<span class="ident">status</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="kw">match</span> <span class="ident">status</span> {
- <span class="ident">BundleStatus</span>::<span class="ident">Pruned</span> <span class="op">=</span><span class="op">></span> <span class="ident">acc</span> <span class="op">+</span> <span class="number">1</span>,
+ <span class="ident">BundleStatus::Pruned</span> <span class="op">=</span><span class="op">></span> <span class="ident">acc</span> <span class="op">+</span> <span class="number">1</span>,
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="ident">acc</span>,
}))
}
<span class="prelude-val">Some</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">></span> <span class="ident">x</span>,
};
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">log::debug!</span>(
<span class="string">"Processing bundle #{} - height {} to {}"</span>,
<span class="ident">index</span>,
<span class="ident">index</span> <span class="op">*</span> <span class="number">1000</span> <span class="op">+</span> <span class="number">1</span>,
<span class="kw">let</span> <span class="ident">process_received_filters</span> <span class="op">=</span>
<span class="op">|</span><span class="ident">expected_filters</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BTreeMap</span><span class="op"><</span><span class="ident">usize</span>, <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="op">></span>, <span class="ident">CompactFiltersError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">filters_map</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">filters_map</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">expected_filters</span> {
<span class="kw">let</span> <span class="ident">filter</span> <span class="op">=</span> <span class="ident">peer</span>.<span class="ident">pop_cf_filter_resp</span>()<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">filter</span>.<span class="ident">filter_type</span> <span class="op">!</span><span class="op">=</span> <span class="self">self</span>.<span class="ident">cf_store</span>.<span class="ident">get_filter_type</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
}
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">headers_store</span>.<span class="ident">get_height_for</span>(<span class="kw-2">&</span><span class="ident">filter</span>.<span class="ident">block_hash</span>)<span class="question-mark">?</span> {
<span class="prelude-val">Some</span>(<span class="ident">height</span>) <span class="op">=</span><span class="op">></span> <span class="ident">filters_map</span>.<span class="ident">insert</span>(<span class="ident">height</span>, <span class="ident">filter</span>.<span class="ident">filter</span>),
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidFilter</span>),
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidFilter</span>),
};
}
<span class="ident">status</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">cf_store</span>.<span class="ident">prune_filters</span>(<span class="ident">index</span>, <span class="ident">checkpoint</span>)<span class="question-mark">?</span>;
}
- <span class="kw">let</span> <span class="ident">stop_height</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">cmp</span>::<span class="ident">min</span>(<span class="ident">current_height</span>, <span class="ident">start_height</span> <span class="op">+</span> <span class="number">999</span>);
+ <span class="kw">let</span> <span class="ident">stop_height</span> <span class="op">=</span> <span class="ident">std::cmp::min</span>(<span class="ident">current_height</span>, <span class="ident">start_height</span> <span class="op">+</span> <span class="number">999</span>);
<span class="kw">let</span> <span class="ident">stop_hash</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">headers_store</span>.<span class="ident">get_block_hash</span>(<span class="ident">stop_height</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>();
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">Init</span> <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: Init"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::Init</span> <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: Init"</span>);
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span> <span class="ident">peer</span>.<span class="ident">get_cf_headers</span>(<span class="number">0x00</span>, <span class="ident">start_height</span> <span class="kw">as</span> <span class="ident">u32</span>, <span class="ident">stop_hash</span>)<span class="question-mark">?</span>;
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">resp</span>.<span class="ident">previous_filter_header</span> <span class="op">=</span><span class="op">=</span> <span class="ident">checkpoint</span>);
+ <span class="macro">assert!</span>(<span class="ident">resp</span>.<span class="ident">previous_filter_header</span> <span class="op">=</span><span class="op">=</span> <span class="ident">checkpoint</span>);
<span class="ident">status</span> <span class="op">=</span>
<span class="self">self</span>.<span class="ident">cf_store</span>
.<span class="ident">advance_to_cf_headers</span>(<span class="ident">index</span>, <span class="ident">checkpoint</span>, <span class="ident">resp</span>.<span class="ident">filter_hashes</span>)<span class="question-mark">?</span>;
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: Tip (beginning) "</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::Tip</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: Tip (beginning) "</span>);
<span class="ident">already_processed</span> <span class="op">=</span> <span class="ident">cf_filters</span>.<span class="ident">len</span>();
<span class="kw">let</span> <span class="ident">headers_resp</span> <span class="op">=</span> <span class="ident">peer</span>.<span class="ident">get_cf_headers</span>(<span class="number">0x00</span>, <span class="ident">start_height</span> <span class="kw">as</span> <span class="ident">u32</span>, <span class="ident">stop_hash</span>)<span class="question-mark">?</span>;
<span class="ident">checkpoint</span>,
<span class="ident">headers_resp</span>.<span class="ident">filter_hashes</span>,
)<span class="question-mark">?</span> {
- <span class="ident">BundleStatus</span>::<span class="ident">CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span><span class="op">></span> <span class="ident">cf_headers</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>),
+ <span class="ident">BundleStatus::CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span><span class="op">></span> <span class="ident">cf_headers</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>),
};
<span class="ident">peer</span>.<span class="ident">get_cf_filters</span>(
.<span class="ident">cf_store</span>
.<span class="ident">advance_to_cf_filters</span>(<span class="ident">index</span>, <span class="ident">checkpoint</span>, <span class="ident">cf_headers</span>, <span class="ident">filters</span>)<span class="question-mark">?</span>;
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: CFHeaders"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::CfHeaders</span> { <span class="ident">cf_headers</span> } <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: CFHeaders"</span>);
<span class="ident">peer</span>.<span class="ident">get_cf_filters</span>(
<span class="self">self</span>.<span class="ident">cf_store</span>.<span class="ident">get_filter_type</span>(),
<span class="ident">filters_map</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>(),
)<span class="question-mark">?</span>;
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">CFilters</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: CFilters"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::CFilters</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: CFilters"</span>);
<span class="kw">let</span> <span class="ident">last_sync_buried_height</span> <span class="op">=</span>
(<span class="ident">start_height</span> <span class="op">+</span> <span class="ident">already_processed</span>).<span class="ident">saturating_sub</span>(<span class="ident">BURIED_CONFIRMATIONS</span>);
<span class="kw">let</span> <span class="ident">block_hash</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">headers_store</span>.<span class="ident">get_block_hash</span>(<span class="ident">height</span>)<span class="question-mark">?</span>.<span class="ident">unwrap</span>();
<span class="comment">// TODO: also download random blocks?</span>
- <span class="kw">if</span> <span class="ident">process</span>(<span class="kw-2">&</span><span class="ident">block_hash</span>, <span class="kw-2">&</span><span class="ident">BlockFilter</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">filter</span>))<span class="question-mark">?</span> {
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Downloading block {}"</span>, <span class="ident">block_hash</span>);
+ <span class="kw">if</span> <span class="ident">process</span>(<span class="kw-2">&</span><span class="ident">block_hash</span>, <span class="kw-2">&</span><span class="ident">BlockFilter::new</span>(<span class="kw-2">&</span><span class="ident">filter</span>))<span class="question-mark">?</span> {
+ <span class="macro">log::debug!</span>(<span class="string">"Downloading block {}"</span>, <span class="ident">block_hash</span>);
<span class="kw">let</span> <span class="ident">block</span> <span class="op">=</span> <span class="ident">peer</span>
.<span class="ident">get_block</span>(<span class="ident">block_hash</span>)<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">MissingBlock</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::MissingBlock</span>)<span class="question-mark">?</span>;
<span class="self">self</span>.<span class="ident">headers_store</span>.<span class="ident">save_full_block</span>(<span class="kw-2">&</span><span class="ident">block</span>, <span class="ident">height</span>)<span class="question-mark">?</span>;
}
}
- <span class="ident">status</span> <span class="op">=</span> <span class="ident">BundleStatus</span>::<span class="ident">Processed</span> { <span class="ident">cf_filters</span> };
+ <span class="ident">status</span> <span class="op">=</span> <span class="ident">BundleStatus::Processed</span> { <span class="ident">cf_filters</span> };
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">Processed</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: Processed"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::Processed</span> { <span class="ident">cf_filters</span> } <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: Processed"</span>);
<span class="kw">if</span> <span class="ident">current_height</span> <span class="op">-</span> <span class="ident">stop_height</span> <span class="op">></span> <span class="number">1000</span> {
<span class="ident">status</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">cf_store</span>.<span class="ident">prune_filters</span>(<span class="ident">index</span>, <span class="ident">checkpoint</span>)<span class="question-mark">?</span>;
<span class="ident">completed_bundle</span>(<span class="ident">index</span>)<span class="question-mark">?</span>;
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">Pruned</span> <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: Pruned"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::Pruned</span> <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: Pruned"</span>);
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus</span>::<span class="ident">Tip</span> { .. } <span class="op">=</span> <span class="ident">status</span> {
- <span class="ident">log</span>::<span class="macro">trace</span><span class="macro">!</span>(<span class="string">"status: Tip"</span>);
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">BundleStatus::Tip</span> { .. } <span class="op">=</span> <span class="ident">status</span> {
+ <span class="macro">log::trace!</span>(<span class="string">"status: Tip"</span>);
}
}
<span class="kw">let</span> <span class="ident">locators_vec</span> <span class="op">=</span> <span class="ident">locators</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">hash</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">hash</span>).<span class="ident">cloned</span>().<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">locators_map</span>: <span class="ident">HashMap</span><span class="op"><</span><span class="kw">_</span>, <span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">locators</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>();
- <span class="ident">peer</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetHeaders</span>(<span class="ident">GetHeadersMessage</span>::<span class="ident">new</span>(
+ <span class="ident">peer</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetHeaders</span>(<span class="ident">GetHeadersMessage::new</span>(
<span class="ident">locators_vec</span>,
- <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">Default::default</span>(),
)))<span class="question-mark">?</span>;
- <span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">snapshot</span>, <span class="kw-2">mut</span> <span class="ident">last_hash</span>) <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage</span>::<span class="ident">Headers</span>(<span class="ident">headers</span>) <span class="op">=</span> <span class="ident">peer</span>
- .<span class="ident">recv</span>(<span class="string">"headers"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>
+ <span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">snapshot</span>, <span class="kw-2">mut</span> <span class="ident">last_hash</span>) <span class="op">=</span> <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage::Headers</span>(<span class="ident">headers</span>) <span class="op">=</span> <span class="ident">peer</span>
+ .<span class="ident">recv</span>(<span class="string">"headers"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>
{
<span class="kw">if</span> <span class="ident">headers</span>.<span class="ident">is_empty</span>() {
<span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
}
<span class="kw">match</span> <span class="ident">locators_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">headers</span>[<span class="number">0</span>].<span class="ident">prev_blockhash</span>) {
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidHeaders</span>),
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidHeaders</span>),
<span class="prelude-val">Some</span>(<span class="ident">from</span>) <span class="op">=</span><span class="op">></span> (<span class="ident">store</span>.<span class="ident">start_snapshot</span>(<span class="kw-2">*</span><span class="ident">from</span>)<span class="question-mark">?</span>, <span class="ident">headers</span>[<span class="number">0</span>].<span class="ident">prev_blockhash</span>),
}
} <span class="kw">else</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">sync_height</span> <span class="op">=</span> <span class="ident">store</span>.<span class="ident">get_height</span>()<span class="question-mark">?</span>;
<span class="kw">while</span> <span class="ident">sync_height</span> <span class="op"><</span> <span class="ident">peer</span>.<span class="ident">get_version</span>().<span class="ident">start_height</span> <span class="kw">as</span> <span class="ident">usize</span> {
- <span class="ident">peer</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage</span>::<span class="ident">GetHeaders</span>(<span class="ident">GetHeadersMessage</span>::<span class="ident">new</span>(
- <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">last_hash</span>],
- <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">peer</span>.<span class="ident">send</span>(<span class="ident">NetworkMessage::GetHeaders</span>(<span class="ident">GetHeadersMessage::new</span>(
+ <span class="macro">vec!</span>[<span class="ident">last_hash</span>],
+ <span class="ident">Default::default</span>(),
)))<span class="question-mark">?</span>;
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage</span>::<span class="ident">Headers</span>(<span class="ident">headers</span>) <span class="op">=</span> <span class="ident">peer</span>
- .<span class="ident">recv</span>(<span class="string">"headers"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">Timeout</span>)<span class="question-mark">?</span>
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">NetworkMessage::Headers</span>(<span class="ident">headers</span>) <span class="op">=</span> <span class="ident">peer</span>
+ .<span class="ident">recv</span>(<span class="string">"headers"</span>, <span class="prelude-val">Some</span>(<span class="ident">Duration::from_secs</span>(<span class="ident">TIMEOUT_SECS</span>)))<span class="question-mark">?</span>
+ .<span class="ident">ok_or</span>(<span class="ident">CompactFiltersError::Timeout</span>)<span class="question-mark">?</span>
{
<span class="kw">let</span> <span class="ident">batch_len</span> <span class="op">=</span> <span class="ident">headers</span>.<span class="ident">len</span>();
<span class="ident">last_hash</span> <span class="op">=</span> <span class="ident">snapshot</span>.<span class="ident">apply</span>(<span class="ident">sync_height</span>, <span class="ident">headers</span>)<span class="question-mark">?</span>;
<span class="ident">sync_height</span> <span class="op">+</span><span class="op">=</span> <span class="ident">batch_len</span>;
<span class="ident">sync_fn</span>(<span class="ident">sync_height</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError</span>::<span class="ident">InvalidResponse</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">CompactFiltersError::InvalidResponse</span>);
}
}
<!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="Source of the Rust file `src/blockchain/electrum.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>electrum.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
+<span class="kw">use</span> <span class="ident">std::collections::HashSet</span>;
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
<span class="kw">use</span> <span class="ident">electrum_client</span>::{<span class="ident">Client</span>, <span class="ident">ConfigBuilder</span>, <span class="ident">ElectrumApi</span>, <span class="ident">Socks5Config</span>};
-<span class="kw">use</span> <span class="self">self</span>::<span class="ident">utils</span>::{<span class="ident">ElectrumLikeSync</span>, <span class="ident">ElsGetHistoryRes</span>};
+<span class="kw">use</span> <span class="self">self</span><span class="ident">::utils</span>::{<span class="ident">ElectrumLikeSync</span>, <span class="ident">ElsGetHistoryRes</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">BatchDatabase</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">FeeRate</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::BatchDatabase</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::FeeRate</span>;
<span class="doccomment">/// Wrapper over an Electrum Client that implements the required blockchain traits</span>
<span class="doccomment">///</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"test-electrum"</span>)]</span>
<span class="attribute">#[<span class="ident">bdk_blockchain_tests</span>(<span class="kw">crate</span>)]</span>
<span class="kw">fn</span> <span class="ident">local_electrs</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ElectrumBlockchain</span> {
- <span class="ident">ElectrumBlockchain</span>::<span class="ident">from</span>(<span class="ident">Client</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">testutils</span>::<span class="ident">get_electrum_url</span>()).<span class="ident">unwrap</span>())
+ <span class="ident">ElectrumBlockchain::from</span>(<span class="ident">Client::new</span>(<span class="kw-2">&</span><span class="ident">testutils::get_electrum_url</span>()).<span class="ident">unwrap</span>())
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">From</span><span class="op"><</span><span class="ident">Client</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ElectrumBlockchain</span> {
+<span class="kw">impl</span> <span class="ident">std::convert::From</span><span class="op"><</span><span class="ident">Client</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ElectrumBlockchain</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">client</span>: <span class="ident">Client</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">ElectrumBlockchain</span>(<span class="ident">client</span>)
}
<span class="kw">impl</span> <span class="ident">Blockchain</span> <span class="kw">for</span> <span class="ident">ElectrumBlockchain</span> {
<span class="kw">fn</span> <span class="ident">get_capabilities</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Capability</span><span class="op">></span> {
- <span class="macro">vec</span><span class="macro">!</span>[
- <span class="ident">Capability</span>::<span class="ident">FullHistory</span>,
- <span class="ident">Capability</span>::<span class="ident">GetAnyTx</span>,
- <span class="ident">Capability</span>::<span class="ident">AccurateFees</span>,
+ <span class="macro">vec!</span>[
+ <span class="ident">Capability::FullHistory</span>,
+ <span class="ident">Capability::GetAnyTx</span>,
+ <span class="ident">Capability::AccurateFees</span>,
]
.<span class="ident">into_iter</span>()
.<span class="ident">collect</span>()
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">transaction_get</span>(<span class="ident">txid</span>).<span class="ident">map</span>(<span class="prelude-ty">Option</span>::<span class="prelude-val">Some</span>)<span class="question-mark">?</span>)
+ <span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">transaction_get</span>(<span class="ident">txid</span>).<span class="ident">map</span>(<span class="ident">Option::Some</span>)<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
}
<span class="kw">fn</span> <span class="ident">estimate_fee</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">target</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">FeeRate</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">FeeRate</span>::<span class="ident">from_btc_per_kvb</span>(
+ <span class="prelude-val">Ok</span>(<span class="ident">FeeRate::from_btc_per_kvb</span>(
<span class="self">self</span>.<span class="number">0</span>.<span class="ident">estimate_fee</span>(<span class="ident">target</span>)<span class="question-mark">?</span> <span class="kw">as</span> <span class="ident">f32</span>
))
}
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">v</span><span class="op">|</span> {
<span class="ident">v</span>.<span class="ident">into_iter</span>()
.<span class="ident">map</span>(
- <span class="op">|</span><span class="ident">electrum_client</span>::<span class="ident">GetHistoryRes</span> {
+ <span class="op">|</span><span class="ident">electrum_client::GetHistoryRes</span> {
<span class="ident">height</span>, <span class="ident">tx_hash</span>, ..
}<span class="op">|</span> <span class="ident">ElsGetHistoryRes</span> {
<span class="ident">height</span>,
})
.<span class="ident">collect</span>()
})
- .<span class="ident">map_err</span>(<span class="ident">Error</span>::<span class="ident">Electrum</span>)
+ .<span class="ident">map_err</span>(<span class="ident">Error::Electrum</span>)
}
<span class="kw">fn</span> <span class="ident">els_batch_transaction_get</span><span class="op"><</span><span class="lifetime">'s</span>, <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op"><</span><span class="ident">Item</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">Txid</span><span class="op">></span> <span class="op">+</span> <span class="ident">Clone</span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">txids</span>: <span class="ident">I</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">batch_transaction_get</span>(<span class="ident">txids</span>).<span class="ident">map_err</span>(<span class="ident">Error</span>::<span class="ident">Electrum</span>)
+ <span class="self">self</span>.<span class="ident">batch_transaction_get</span>(<span class="ident">txids</span>).<span class="ident">map_err</span>(<span class="ident">Error::Electrum</span>)
}
<span class="kw">fn</span> <span class="ident">els_batch_block_header</span><span class="op"><</span><span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op"><</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">u32</span><span class="op">></span> <span class="op">+</span> <span class="ident">Clone</span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">heights</span>: <span class="ident">I</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">BlockHeader</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">batch_block_header</span>(<span class="ident">heights</span>).<span class="ident">map_err</span>(<span class="ident">Error</span>::<span class="ident">Electrum</span>)
+ <span class="self">self</span>.<span class="ident">batch_block_header</span>(<span class="ident">heights</span>).<span class="ident">map_err</span>(<span class="ident">Error::Electrum</span>)
}
}
<span class="doccomment">/// Configuration for an [`ElectrumBlockchain`]</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Deserialize</span>, <span class="ident">serde::Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ElectrumBlockchainConfig</span> {
<span class="doccomment">/// URL of the Electrum server (such as ElectrumX, Esplora, BWT) may start with `ssl://` or `tcp://` and include a port</span>
<span class="doccomment">///</span>
<span class="kw">impl</span> <span class="ident">ConfigurableBlockchain</span> <span class="kw">for</span> <span class="ident">ElectrumBlockchain</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">ElectrumBlockchainConfig</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">socks5</span> <span class="op">=</span> <span class="ident">config</span>.<span class="ident">socks5</span>.<span class="ident">as_ref</span>().<span class="ident">map</span>(<span class="ident">Socks5Config</span>::<span class="ident">new</span>);
- <span class="kw">let</span> <span class="ident">electrum_config</span> <span class="op">=</span> <span class="ident">ConfigBuilder</span>::<span class="ident">new</span>()
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="ident">socks5</span> <span class="op">=</span> <span class="ident">config</span>.<span class="ident">socks5</span>.<span class="ident">as_ref</span>().<span class="ident">map</span>(<span class="ident">Socks5Config::new</span>);
+ <span class="kw">let</span> <span class="ident">electrum_config</span> <span class="op">=</span> <span class="ident">ConfigBuilder::new</span>()
.<span class="ident">retry</span>(<span class="ident">config</span>.<span class="ident">retry</span>)
.<span class="ident">timeout</span>(<span class="ident">config</span>.<span class="ident">timeout</span>)<span class="question-mark">?</span>
.<span class="ident">socks5</span>(<span class="ident">socks5</span>)<span class="question-mark">?</span>
.<span class="ident">build</span>();
- <span class="prelude-val">Ok</span>(<span class="ident">ElectrumBlockchain</span>(<span class="ident">Client</span>::<span class="ident">from_config</span>(
+ <span class="prelude-val">Ok</span>(<span class="ident">ElectrumBlockchain</span>(<span class="ident">Client::from_config</span>(
<span class="ident">config</span>.<span class="ident">url</span>.<span class="ident">as_str</span>(),
<span class="ident">electrum_config</span>,
)<span class="question-mark">?</span>))
<!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="Source of the Rust file `src/blockchain/esplora.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>esplora.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
-<span class="kw">use</span> <span class="ident">futures</span>::<span class="ident">stream</span>::{<span class="self">self</span>, <span class="ident">FuturesOrdered</span>, <span class="ident">StreamExt</span>, <span class="ident">TryStreamExt</span>};
+<span class="kw">use</span> <span class="ident">futures::stream</span>::{<span class="self">self</span>, <span class="ident">FuturesOrdered</span>, <span class="ident">StreamExt</span>, <span class="ident">TryStreamExt</span>};
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
-<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
+<span class="kw">use</span> <span class="ident">serde::Deserialize</span>;
<span class="kw">use</span> <span class="ident">reqwest</span>::{<span class="ident">Client</span>, <span class="ident">StatusCode</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::{<span class="self">self</span>, <span class="ident">deserialize</span>, <span class="ident">serialize</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::{<span class="ident">FromHex</span>, <span class="ident">ToHex</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::{<span class="ident">sha256</span>, <span class="ident">Hash</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::consensus</span>::{<span class="self">self</span>, <span class="ident">deserialize</span>, <span class="ident">serialize</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hashes::hex</span>::{<span class="ident">FromHex</span>, <span class="ident">ToHex</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hashes</span>::{<span class="ident">sha256</span>, <span class="ident">Hash</span>};
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">BlockHash</span>, <span class="ident">BlockHeader</span>, <span class="ident">Script</span>, <span class="ident">Transaction</span>, <span class="ident">Txid</span>};
-<span class="kw">use</span> <span class="self">self</span>::<span class="ident">utils</span>::{<span class="ident">ElectrumLikeSync</span>, <span class="ident">ElsGetHistoryRes</span>};
+<span class="kw">use</span> <span class="self">self</span><span class="ident">::utils</span>::{<span class="ident">ElectrumLikeSync</span>, <span class="ident">ElsGetHistoryRes</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">BatchDatabase</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">ChunksIterator</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">FeeRate</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::BatchDatabase</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::ChunksIterator</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::FeeRate</span>;
<span class="kw">const</span> <span class="ident">DEFAULT_CONCURRENT_REQUESTS</span>: <span class="ident">u8</span> <span class="op">=</span> <span class="number">4</span>;
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">EsploraBlockchain</span>(<span class="ident">UrlClient</span>);
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">From</span><span class="op"><</span><span class="ident">UrlClient</span><span class="op">></span> <span class="kw">for</span> <span class="ident">EsploraBlockchain</span> {
+<span class="kw">impl</span> <span class="ident">std::convert::From</span><span class="op"><</span><span class="ident">UrlClient</span><span class="op">></span> <span class="kw">for</span> <span class="ident">EsploraBlockchain</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">url_client</span>: <span class="ident">UrlClient</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">EsploraBlockchain</span>(<span class="ident">url_client</span>)
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">base_url</span>: <span class="kw-2">&</span><span class="ident">str</span>, <span class="ident">concurrency</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">EsploraBlockchain</span>(<span class="ident">UrlClient</span> {
<span class="ident">url</span>: <span class="ident">base_url</span>.<span class="ident">to_string</span>(),
- <span class="ident">client</span>: <span class="ident">Client</span>::<span class="ident">new</span>(),
+ <span class="ident">client</span>: <span class="ident">Client::new</span>(),
<span class="ident">concurrency</span>: <span class="ident">concurrency</span>.<span class="ident">unwrap_or</span>(<span class="ident">DEFAULT_CONCURRENT_REQUESTS</span>),
})
}
<span class="attribute">#[<span class="ident">maybe_async</span>]</span>
<span class="kw">impl</span> <span class="ident">Blockchain</span> <span class="kw">for</span> <span class="ident">EsploraBlockchain</span> {
<span class="kw">fn</span> <span class="ident">get_capabilities</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Capability</span><span class="op">></span> {
- <span class="macro">vec</span><span class="macro">!</span>[
- <span class="ident">Capability</span>::<span class="ident">FullHistory</span>,
- <span class="ident">Capability</span>::<span class="ident">GetAnyTx</span>,
- <span class="ident">Capability</span>::<span class="ident">AccurateFees</span>,
+ <span class="macro">vec!</span>[
+ <span class="ident">Capability::FullHistory</span>,
+ <span class="ident">Capability::GetAnyTx</span>,
+ <span class="ident">Capability::AccurateFees</span>,
]
.<span class="ident">into_iter</span>()
.<span class="ident">collect</span>()
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>
.<span class="number">0</span>
.<span class="ident">electrum_like_setup</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="macro">await_or_block</span><span class="macro">!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_tx</span>(<span class="ident">txid</span>))<span class="question-mark">?</span>)
+ <span class="prelude-val">Ok</span>(<span class="macro">await_or_block!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_tx</span>(<span class="ident">txid</span>))<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="macro">await_or_block</span><span class="macro">!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_broadcast</span>(<span class="ident">tx</span>))<span class="question-mark">?</span>)
+ <span class="prelude-val">Ok</span>(<span class="macro">await_or_block!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_broadcast</span>(<span class="ident">tx</span>))<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">get_height</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="macro">await_or_block</span><span class="macro">!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_height</span>())<span class="question-mark">?</span>)
+ <span class="prelude-val">Ok</span>(<span class="macro">await_or_block!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_height</span>())<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">estimate_fee</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">target</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">FeeRate</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">estimates</span> <span class="op">=</span> <span class="macro">await_or_block</span><span class="macro">!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_fee_estimates</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">estimates</span> <span class="op">=</span> <span class="macro">await_or_block!</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">_get_fee_estimates</span>())<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">fee_val</span> <span class="op">=</span> <span class="ident">estimates</span>
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">std</span>::<span class="ident">num</span>::<span class="ident">ParseIntError</span><span class="op">></span>((<span class="ident">k</span>.<span class="ident">parse</span>::<span class="op"><</span><span class="ident">usize</span><span class="op">></span>()<span class="question-mark">?</span>, <span class="ident">v</span>)))
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>::<span class="op"><</span><span class="kw">_</span>, <span class="ident">std::num::ParseIntError</span><span class="op">></span>((<span class="ident">k</span>.<span class="ident">parse</span>::<span class="op"><</span><span class="ident">usize</span><span class="op">></span>()<span class="question-mark">?</span>, <span class="ident">v</span>)))
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">Error::Generic</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>
.<span class="ident">into_iter</span>()
.<span class="ident">take_while</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span> <span class="op"><</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">target</span>)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="ident">v</span>)
.<span class="ident">last</span>()
.<span class="ident">unwrap_or</span>(<span class="number">1.0</span>);
- <span class="prelude-val">Ok</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="ident">fee_val</span> <span class="kw">as</span> <span class="ident">f32</span>))
+ <span class="prelude-val">Ok</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="ident">fee_val</span> <span class="kw">as</span> <span class="ident">f32</span>))
}
}
<span class="kw">impl</span> <span class="ident">UrlClient</span> {
<span class="kw">fn</span> <span class="ident">script_to_scripthash</span>(<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>) <span class="op">-</span><span class="op">></span> <span class="ident">String</span> {
- <span class="ident">sha256</span>::<span class="ident">Hash</span>::<span class="ident">hash</span>(<span class="ident">script</span>.<span class="ident">as_bytes</span>()).<span class="ident">into_inner</span>().<span class="ident">to_hex</span>()
+ <span class="ident">sha256::Hash::hash</span>(<span class="ident">script</span>.<span class="ident">as_bytes</span>()).<span class="ident">into_inner</span>().<span class="ident">to_hex</span>()
}
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">EsploraError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/tx/{}/raw"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">txid</span>))
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/tx/{}/raw"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">txid</span>))
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">StatusCode</span>::<span class="ident">NOT_FOUND</span> <span class="op">=</span> <span class="ident">resp</span>.<span class="ident">status</span>() {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">StatusCode::NOT_FOUND</span> <span class="op">=</span> <span class="ident">resp</span>.<span class="ident">status</span>() {
<span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
}
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_get_tx_no_opt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Transaction</span>, <span class="ident">EsploraError</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">_get_tx</span>(<span class="ident">txid</span>).<span class="kw">await</span> {
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">tx</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">tx</span>),
- <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">EsploraError</span>::<span class="ident">TransactionNotFound</span>(<span class="kw-2">*</span><span class="ident">txid</span>)),
+ <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">EsploraError::TransactionNotFound</span>(<span class="kw-2">*</span><span class="ident">txid</span>)),
<span class="prelude-val">Err</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">e</span>),
}
}
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_get_header</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">block_height</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">BlockHeader</span>, <span class="ident">EsploraError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/block-height/{}"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">block_height</span>))
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/block-height/{}"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">block_height</span>))
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">StatusCode</span>::<span class="ident">NOT_FOUND</span> <span class="op">=</span> <span class="ident">resp</span>.<span class="ident">status</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">EsploraError</span>::<span class="ident">HeaderHeightNotFound</span>(<span class="ident">block_height</span>));
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">StatusCode::NOT_FOUND</span> <span class="op">=</span> <span class="ident">resp</span>.<span class="ident">status</span>() {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">EsploraError::HeaderHeightNotFound</span>(<span class="ident">block_height</span>));
}
<span class="kw">let</span> <span class="ident">bytes</span> <span class="op">=</span> <span class="ident">resp</span>.<span class="ident">bytes</span>().<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">hash</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">from_utf8</span>(<span class="kw-2">&</span><span class="ident">bytes</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">EsploraError</span>::<span class="ident">HeaderHeightNotFound</span>(<span class="ident">block_height</span>))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">hash</span> <span class="op">=</span> <span class="ident">std::str::from_utf8</span>(<span class="kw-2">&</span><span class="ident">bytes</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">EsploraError::HeaderHeightNotFound</span>(<span class="ident">block_height</span>))<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">resp</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/block/{}/header"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">hash</span>))
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/block/{}/header"</span>, <span class="self">self</span>.<span class="ident">url</span>, <span class="ident">hash</span>))
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">header</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="ident">from_hex</span>(<span class="kw-2">&</span><span class="ident">resp</span>.<span class="ident">text</span>().<span class="kw">await</span><span class="question-mark">?</span>)<span class="question-mark">?</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">header</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">Vec::from_hex</span>(<span class="kw-2">&</span><span class="ident">resp</span>.<span class="ident">text</span>().<span class="kw">await</span><span class="question-mark">?</span>)<span class="question-mark">?</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">header</span>)
}
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">EsploraError</span><span class="op">></span> {
<span class="self">self</span>.<span class="ident">client</span>
- .<span class="ident">post</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/tx"</span>, <span class="self">self</span>.<span class="ident">url</span>))
+ .<span class="ident">post</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/tx"</span>, <span class="self">self</span>.<span class="ident">url</span>))
.<span class="ident">body</span>(<span class="ident">serialize</span>(<span class="ident">transaction</span>).<span class="ident">to_hex</span>())
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_get_height</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">EsploraError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/blocks/tip/height"</span>, <span class="self">self</span>.<span class="ident">url</span>))
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/blocks/tip/height"</span>, <span class="self">self</span>.<span class="ident">url</span>))
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>;
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">ElsGetHistoryRes</span><span class="op">></span>, <span class="ident">EsploraError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">scripthash</span> <span class="op">=</span> <span class="self">Self</span>::<span class="ident">script_to_scripthash</span>(<span class="ident">script</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
+ <span class="kw">let</span> <span class="ident">scripthash</span> <span class="op">=</span> <span class="self">Self</span><span class="ident">::script_to_scripthash</span>(<span class="ident">script</span>);
<span class="comment">// Add the unconfirmed transactions first</span>
<span class="ident">result</span>.<span class="ident">extend</span>(
<span class="self">self</span>.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(
<span class="string">"{}/scripthash/{}/txs/mempool"</span>,
<span class="self">self</span>.<span class="ident">url</span>, <span class="ident">scripthash</span>
))
}),
);
- <span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">debug!</span>(
<span class="string">"Found {} mempool txs for {} - {:?}"</span>,
<span class="ident">result</span>.<span class="ident">len</span>(),
<span class="ident">scripthash</span>,
);
<span class="comment">// Then go through all the pages of confirmed transactions</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">last_txid</span> <span class="op">=</span> <span class="ident">String</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">last_txid</span> <span class="op">=</span> <span class="ident">String::new</span>();
<span class="kw">loop</span> {
<span class="kw">let</span> <span class="ident">response</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(
<span class="string">"{}/scripthash/{}/txs/chain/{}"</span>,
<span class="self">self</span>.<span class="ident">url</span>, <span class="ident">scripthash</span>, <span class="ident">last_txid</span>
))
<span class="ident">last_txid</span> <span class="op">=</span> <span class="ident">elem</span>.<span class="ident">txid</span>.<span class="ident">to_hex</span>();
}
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"... adding {} confirmed transactions"</span>, <span class="ident">len</span>);
+ <span class="macro">debug!</span>(<span class="string">"... adding {} confirmed transactions"</span>, <span class="ident">len</span>);
<span class="ident">result</span>.<span class="ident">extend</span>(<span class="ident">response</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">ElsGetHistoryRes</span> {
<span class="ident">tx_hash</span>: <span class="ident">x</span>.<span class="ident">txid</span>,
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">_get_fee_estimates</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">String</span>, <span class="ident">f64</span><span class="op">></span>, <span class="ident">EsploraError</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>
.<span class="ident">client</span>
- .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format</span><span class="macro">!</span>(<span class="string">"{}/fee-estimates"</span>, <span class="self">self</span>.<span class="ident">url</span>,))
+ .<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">format!</span>(<span class="string">"{}/fee-estimates"</span>, <span class="self">self</span>.<span class="ident">url</span>,))
.<span class="ident">send</span>()
.<span class="kw">await</span><span class="question-mark">?</span>
.<span class="ident">error_for_status</span>()<span class="question-mark">?</span>
<span class="ident">scripts</span>: <span class="ident">I</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">ElsGetHistoryRes</span><span class="op">></span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">future</span> <span class="op">=</span> <span class="kw">async</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[];
- <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">scripts</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec!</span>[];
+ <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">scripts</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered::new</span>();
<span class="kw">for</span> <span class="ident">script</span> <span class="kw">in</span> <span class="ident">chunk</span> {
<span class="ident">futs</span>.<span class="ident">push</span>(<span class="self">self</span>.<span class="ident">_script_get_history</span>(<span class="kw-2">&</span><span class="ident">script</span>));
}
<span class="kw">let</span> <span class="ident">partial_results</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">ElsGetHistoryRes</span><span class="op">></span><span class="op">></span> <span class="op">=</span> <span class="ident">futs</span>.<span class="ident">try_collect</span>().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="ident">results</span>.<span class="ident">extend</span>(<span class="ident">partial_results</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">stream</span>::<span class="ident">iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
+ <span class="prelude-val">Ok</span>(<span class="ident">stream::iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
};
- <span class="macro">await_or_block</span><span class="macro">!</span>(<span class="ident">future</span>)
+ <span class="macro">await_or_block!</span>(<span class="ident">future</span>)
}
<span class="kw">fn</span> <span class="ident">els_batch_transaction_get</span><span class="op"><</span><span class="lifetime">'s</span>, <span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op"><</span><span class="ident">Item</span> <span class="op">=</span> <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">Txid</span><span class="op">></span><span class="op">></span>(
<span class="ident">txids</span>: <span class="ident">I</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">future</span> <span class="op">=</span> <span class="kw">async</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[];
- <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">txids</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec!</span>[];
+ <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">txids</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered::new</span>();
<span class="kw">for</span> <span class="ident">txid</span> <span class="kw">in</span> <span class="ident">chunk</span> {
<span class="ident">futs</span>.<span class="ident">push</span>(<span class="self">self</span>.<span class="ident">_get_tx_no_opt</span>(<span class="kw-2">&</span><span class="ident">txid</span>));
}
<span class="kw">let</span> <span class="ident">partial_results</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span> <span class="op">=</span> <span class="ident">futs</span>.<span class="ident">try_collect</span>().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="ident">results</span>.<span class="ident">extend</span>(<span class="ident">partial_results</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">stream</span>::<span class="ident">iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
+ <span class="prelude-val">Ok</span>(<span class="ident">stream::iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
};
- <span class="macro">await_or_block</span><span class="macro">!</span>(<span class="ident">future</span>)
+ <span class="macro">await_or_block!</span>(<span class="ident">future</span>)
}
<span class="kw">fn</span> <span class="ident">els_batch_block_header</span><span class="op"><</span><span class="ident">I</span>: <span class="ident">IntoIterator</span><span class="op"><</span><span class="ident">Item</span> <span class="op">=</span> <span class="ident">u32</span><span class="op">></span><span class="op">></span>(
<span class="ident">heights</span>: <span class="ident">I</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">BlockHeader</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">future</span> <span class="op">=</span> <span class="kw">async</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[];
- <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">heights</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">results</span> <span class="op">=</span> <span class="macro">vec!</span>[];
+ <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">heights</span>.<span class="ident">into_iter</span>(), <span class="self">self</span>.<span class="ident">concurrency</span> <span class="kw">as</span> <span class="ident">usize</span>) {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">futs</span> <span class="op">=</span> <span class="ident">FuturesOrdered::new</span>();
<span class="kw">for</span> <span class="ident">height</span> <span class="kw">in</span> <span class="ident">chunk</span> {
<span class="ident">futs</span>.<span class="ident">push</span>(<span class="self">self</span>.<span class="ident">_get_header</span>(<span class="ident">height</span>));
}
<span class="kw">let</span> <span class="ident">partial_results</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">BlockHeader</span><span class="op">></span> <span class="op">=</span> <span class="ident">futs</span>.<span class="ident">try_collect</span>().<span class="kw">await</span><span class="question-mark">?</span>;
<span class="ident">results</span>.<span class="ident">extend</span>(<span class="ident">partial_results</span>);
}
- <span class="prelude-val">Ok</span>(<span class="ident">stream</span>::<span class="ident">iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
+ <span class="prelude-val">Ok</span>(<span class="ident">stream::iter</span>(<span class="ident">results</span>).<span class="ident">collect</span>().<span class="kw">await</span>)
};
- <span class="macro">await_or_block</span><span class="macro">!</span>(<span class="ident">future</span>)
+ <span class="macro">await_or_block!</span>(<span class="ident">future</span>)
}
}
}
<span class="doccomment">/// Configuration for an [`EsploraBlockchain`]</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Deserialize</span>, <span class="ident">serde::Serialize</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">EsploraBlockchainConfig</span> {
<span class="doccomment">/// Base URL of the esplora service</span>
<span class="doccomment">///</span>
<span class="kw">impl</span> <span class="ident">ConfigurableBlockchain</span> <span class="kw">for</span> <span class="ident">EsploraBlockchain</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">EsploraBlockchainConfig</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">EsploraBlockchain</span>::<span class="ident">new</span>(
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="prelude-val">Ok</span>(<span class="ident">EsploraBlockchain::new</span>(
<span class="ident">config</span>.<span class="ident">base_url</span>.<span class="ident">as_str</span>(),
<span class="ident">config</span>.<span class="ident">concurrency</span>,
))
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">EsploraError</span> {
<span class="doccomment">/// Error with the HTTP call</span>
- <span class="ident">Reqwest</span>(<span class="ident">reqwest</span>::<span class="ident">Error</span>),
+ <span class="ident">Reqwest</span>(<span class="ident">reqwest::Error</span>),
<span class="doccomment">/// Invalid number returned</span>
- <span class="ident">Parsing</span>(<span class="ident">std</span>::<span class="ident">num</span>::<span class="ident">ParseIntError</span>),
+ <span class="ident">Parsing</span>(<span class="ident">std::num::ParseIntError</span>),
<span class="doccomment">/// Invalid Bitcoin data returned</span>
- <span class="ident">BitcoinEncoding</span>(<span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span>),
+ <span class="ident">BitcoinEncoding</span>(<span class="ident">bitcoin::consensus::encode::Error</span>),
<span class="doccomment">/// Invalid Hex data returned</span>
- <span class="ident">Hex</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>),
+ <span class="ident">Hex</span>(<span class="ident">bitcoin::hashes::hex::Error</span>),
<span class="doccomment">/// Transaction not found</span>
<span class="ident">TransactionNotFound</span>(<span class="ident">Txid</span>),
<span class="ident">HeaderHashNotFound</span>(<span class="ident">BlockHash</span>),
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">EsploraError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">EsploraError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">EsploraError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">EsploraError</span> {}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">reqwest</span>::<span class="ident">Error</span>, <span class="ident">Reqwest</span>, <span class="ident">EsploraError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">std</span>::<span class="ident">num</span>::<span class="ident">ParseIntError</span>, <span class="ident">Parsing</span>, <span class="ident">EsploraError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span>, <span class="ident">BitcoinEncoding</span>, <span class="ident">EsploraError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>, <span class="ident">Hex</span>, <span class="ident">EsploraError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">reqwest::Error</span>, <span class="ident">Reqwest</span>, <span class="ident">EsploraError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">std::num::ParseIntError</span>, <span class="ident">Parsing</span>, <span class="ident">EsploraError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">consensus::encode::Error</span>, <span class="ident">BitcoinEncoding</span>, <span class="ident">EsploraError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::hashes::hex::Error</span>, <span class="ident">Hex</span>, <span class="ident">EsploraError</span>);
</pre></div>
</section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script></body></html>
\ No newline at end of file
<!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="Source of the Rust file `src/blockchain/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! [Compact Filters/Neutrino](crate::blockchain::compact_filters), along with a generalized trait</span>
<span class="doccomment">//! [`Blockchain`] that can be implemented to build customized backends.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Deref</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">mpsc</span>::{<span class="ident">channel</span>, <span class="ident">Receiver</span>, <span class="ident">Sender</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
+<span class="kw">use</span> <span class="ident">std::collections::HashSet</span>;
+<span class="kw">use</span> <span class="ident">std::ops::Deref</span>;
+<span class="kw">use</span> <span class="ident">std::sync::mpsc</span>::{<span class="ident">channel</span>, <span class="ident">Receiver</span>, <span class="ident">Sender</span>};
+<span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Transaction</span>, <span class="ident">Txid</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">BatchDatabase</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">FeeRate</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::BatchDatabase</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::FeeRate</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">any</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>, <span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>))]</span>
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod</span> <span class="ident">utils</span>;
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)))]</span>
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">electrum</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchain</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::electrum::ElectrumBlockchain</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">electrum</span>::<span class="ident">ElectrumBlockchainConfig</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::electrum::ElectrumBlockchainConfig</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)))]</span>
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">esplora</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">esplora</span>::<span class="ident">EsploraBlockchain</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::esplora::EsploraBlockchain</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)))]</span>
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">compact_filters</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersBlockchain</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::compact_filters::CompactFiltersBlockchain</span>;
<span class="doccomment">/// Capabilities that can be supported by a [`Blockchain`] backend</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">Copy</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>, <span class="ident">Hash</span>)]</span>
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">setup</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">setup</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
}
<span class="doccomment">/// Fetch a transaction from the blockchain given its txid</span>
<span class="doccomment">/// Trait for [`Blockchain`] types that can be created given a configuration</span>
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">ConfigurableBlockchain</span>: <span class="ident">Blockchain</span> <span class="op">+</span> <span class="ident">Sized</span> {
<span class="doccomment">/// Type that contains the configuration</span>
- <span class="kw">type</span> <span class="ident">Config</span>: <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Debug</span>;
+ <span class="kw">type</span> <span class="ident">Config</span>: <span class="ident">std::fmt::Debug</span>;
<span class="doccomment">/// Create a new instance given a configuration</span>
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span>;
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span>;
}
<span class="doccomment">/// Data sent with a progress update over a [`channel`]</span>
<span class="kw">impl</span> <span class="ident">Progress</span> <span class="kw">for</span> <span class="ident">Sender</span><span class="op"><</span><span class="ident">ProgressData</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">update</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">progress</span>: <span class="ident">f32</span>, <span class="ident">message</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="kw">if</span> <span class="op">!</span>(<span class="number">0.0</span>..<span class="op">=</span><span class="number">100.0</span>).<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">progress</span>) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InvalidProgressValue</span>(<span class="ident">progress</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::InvalidProgressValue</span>(<span class="ident">progress</span>));
}
<span class="self">self</span>.<span class="ident">send</span>((<span class="ident">progress</span>, <span class="ident">message</span>))
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">ProgressUpdateError</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::ProgressUpdateError</span>)
}
}
<span class="kw">impl</span> <span class="ident">Progress</span> <span class="kw">for</span> <span class="ident">LogProgress</span> {
<span class="kw">fn</span> <span class="ident">update</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">progress</span>: <span class="ident">f32</span>, <span class="ident">message</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="ident">log</span>::<span class="macro">info</span><span class="macro">!</span>(
+ <span class="macro">log::info!</span>(
<span class="string">"Sync {:.3}%: `{}`"</span>,
<span class="ident">progress</span>,
<span class="ident">message</span>.<span class="ident">unwrap_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="string">""</span>.<span class="ident">into</span>())
<span class="attribute">#[<span class="ident">maybe_async</span>]</span>
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">Blockchain</span><span class="op">></span> <span class="ident">Blockchain</span> <span class="kw">for</span> <span class="ident">Arc</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">get_capabilities</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Capability</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_capabilities</span>())
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_capabilities</span>())
}
<span class="kw">fn</span> <span class="ident">setup</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">BatchDatabase</span>, <span class="ident">P</span>: <span class="lifetime">'static</span> <span class="op">+</span> <span class="ident">Progress</span><span class="op">></span>(
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">setup</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">setup</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
}
<span class="kw">fn</span> <span class="ident">sync</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">BatchDatabase</span>, <span class="ident">P</span>: <span class="lifetime">'static</span> <span class="op">+</span> <span class="ident">Progress</span><span class="op">></span>(
<span class="ident">database</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">sync</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">sync</span>(<span class="ident">stop_gap</span>, <span class="ident">database</span>, <span class="ident">progress_update</span>))
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_tx</span>(<span class="ident">txid</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_tx</span>(<span class="ident">txid</span>))
}
<span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">broadcast</span>(<span class="ident">tx</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">broadcast</span>(<span class="ident">tx</span>))
}
<span class="kw">fn</span> <span class="ident">get_height</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_height</span>())
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">get_height</span>())
}
<span class="kw">fn</span> <span class="ident">estimate_fee</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">target</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">FeeRate</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">estimate_fee</span>(<span class="ident">target</span>))
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">deref</span>().<span class="ident">estimate_fee</span>(<span class="ident">target</span>))
}
}
</pre></div>
<!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="Source of the Rust file `src/blockchain/utils.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>utils.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
-<span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">seq</span>::<span class="ident">SliceRandom</span>;
-<span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">thread_rng</span>;
+<span class="kw">use</span> <span class="ident">rand::seq::SliceRandom</span>;
+<span class="kw">use</span> <span class="ident">rand::thread_rng</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">BlockHeader</span>, <span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">Transaction</span>, <span class="ident">Txid</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::{<span class="ident">KeychainKind</span>, <span class="ident">LocalUtxo</span>, <span class="ident">TransactionDetails</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">time</span>::<span class="ident">Instant</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">ChunksIterator</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::{<span class="ident">KeychainKind</span>, <span class="ident">LocalUtxo</span>, <span class="ident">TransactionDetails</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::time::Instant</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::ChunksIterator</span>;
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ElsGetHistoryRes</span> {
<span class="ident">_progress_update</span>: <span class="ident">P</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="comment">// TODO: progress</span>
- <span class="kw">let</span> <span class="ident">start</span> <span class="op">=</span> <span class="ident">Instant</span>::<span class="ident">new</span>();
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"start setup"</span>);
+ <span class="kw">let</span> <span class="ident">start</span> <span class="op">=</span> <span class="ident">Instant::new</span>();
+ <span class="macro">debug!</span>(<span class="string">"start setup"</span>);
<span class="kw">let</span> <span class="ident">stop_gap</span> <span class="op">=</span> <span class="ident">stop_gap</span>.<span class="ident">unwrap_or</span>(<span class="number">20</span>);
<span class="kw">let</span> <span class="ident">chunk_size</span> <span class="op">=</span> <span class="ident">stop_gap</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">history_txs_id</span> <span class="op">=</span> <span class="ident">HashSet</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txid_height</span> <span class="op">=</span> <span class="ident">HashMap</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">max_indexes</span> <span class="op">=</span> <span class="ident">HashMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">history_txs_id</span> <span class="op">=</span> <span class="ident">HashSet::new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txid_height</span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">max_indexes</span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet_chains</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>];
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">wallet_chains</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="ident">KeychainKind::Internal</span>, <span class="ident">KeychainKind::External</span>];
<span class="comment">// shuffling improve privacy, the server doesn't know my first request is from my internal or external addresses</span>
<span class="ident">wallet_chains</span>.<span class="ident">shuffle</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">thread_rng</span>());
<span class="comment">// download history of our internal and external script_pubkeys</span>
<span class="kw">for</span> <span class="ident">keychain</span> <span class="kw">in</span> <span class="ident">wallet_chains</span>.<span class="ident">iter</span>() {
<span class="kw">let</span> <span class="ident">script_iter</span> <span class="op">=</span> <span class="ident">db</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">keychain</span>))<span class="question-mark">?</span>.<span class="ident">into_iter</span>();
- <span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">chunk</span>) <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">script_iter</span>, <span class="ident">stop_gap</span>).<span class="ident">enumerate</span>() {
+ <span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">chunk</span>) <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">script_iter</span>, <span class="ident">stop_gap</span>).<span class="ident">enumerate</span>() {
<span class="comment">// TODO if i == last, should create another chunk of addresses in db</span>
<span class="kw">let</span> <span class="ident">call_result</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">ElsGetHistoryRes</span><span class="op">></span><span class="op">></span> <span class="op">=</span>
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">els_batch_script_get_history</span>(<span class="ident">chunk</span>.<span class="ident">iter</span>()))<span class="question-mark">?</span>;
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">els_batch_script_get_history</span>(<span class="ident">chunk</span>.<span class="ident">iter</span>()))<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">max_index</span> <span class="op">=</span> <span class="ident">call_result</span>
.<span class="ident">iter</span>()
.<span class="ident">enumerate</span>()
<span class="ident">max_indexes</span>.<span class="ident">insert</span>(<span class="ident">keychain</span>, <span class="ident">max</span> <span class="op">+</span> (<span class="ident">i</span> <span class="op">*</span> <span class="ident">chunk_size</span>) <span class="kw">as</span> <span class="ident">u32</span>);
}
<span class="kw">let</span> <span class="ident">flattened</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">ElsGetHistoryRes</span><span class="op">></span> <span class="op">=</span> <span class="ident">call_result</span>.<span class="ident">into_iter</span>().<span class="ident">flatten</span>().<span class="ident">collect</span>();
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"#{} of {:?} results:{}"</span>, <span class="ident">i</span>, <span class="ident">keychain</span>, <span class="ident">flattened</span>.<span class="ident">len</span>());
+ <span class="macro">debug!</span>(<span class="string">"#{} of {:?} results:{}"</span>, <span class="ident">i</span>, <span class="ident">keychain</span>, <span class="ident">flattened</span>.<span class="ident">len</span>());
<span class="kw">if</span> <span class="ident">flattened</span>.<span class="ident">is_empty</span>() {
<span class="comment">// Didn't find anything in the last `stop_gap` script_pubkeys, breaking</span>
<span class="kw">break</span>;
}
<span class="comment">// saving max indexes</span>
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"max indexes are: {:?}"</span>, <span class="ident">max_indexes</span>);
+ <span class="macro">info!</span>(<span class="string">"max indexes are: {:?}"</span>, <span class="ident">max_indexes</span>);
<span class="kw">for</span> <span class="ident">keychain</span> <span class="kw">in</span> <span class="ident">wallet_chains</span>.<span class="ident">iter</span>() {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">index</span>) <span class="op">=</span> <span class="ident">max_indexes</span>.<span class="ident">get</span>(<span class="ident">keychain</span>) {
<span class="ident">db</span>.<span class="ident">set_last_index</span>(<span class="kw-2">*</span><span class="ident">keychain</span>, <span class="kw-2">*</span><span class="ident">index</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">utxos_deps</span> <span class="op">=</span> <span class="ident">utxos_deps</span>(<span class="ident">db</span>, <span class="kw-2">&</span><span class="ident">txs_raw_in_db</span>)<span class="question-mark">?</span>;
<span class="comment">// download new txs and headers</span>
- <span class="kw">let</span> <span class="ident">new_txs</span> <span class="op">=</span> <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">download_and_save_needed_raw_txs</span>(
+ <span class="kw">let</span> <span class="ident">new_txs</span> <span class="op">=</span> <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">download_and_save_needed_raw_txs</span>(
<span class="kw-2">&</span><span class="ident">history_txs_id</span>,
<span class="kw-2">&</span><span class="ident">txs_raw_in_db</span>,
<span class="ident">chunk_size</span>,
<span class="ident">db</span>
))<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">new_timestamps</span> <span class="op">=</span> <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">download_needed_headers</span>(
+ <span class="kw">let</span> <span class="ident">new_timestamps</span> <span class="op">=</span> <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">download_needed_headers</span>(
<span class="kw-2">&</span><span class="ident">txid_height</span>,
<span class="kw-2">&</span><span class="ident">txs_details_in_db</span>,
<span class="ident">chunk_size</span>
}
<span class="ident">db</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>;
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"finish setup, elapsed {:?}ms"</span>, <span class="ident">start</span>.<span class="ident">elapsed</span>().<span class="ident">as_millis</span>());
+ <span class="macro">info!</span>(<span class="string">"finish setup, elapsed {:?}ms"</span>, <span class="ident">start</span>.<span class="ident">elapsed</span>().<span class="ident">as_millis</span>());
<span class="prelude-val">Ok</span>(())
}
<span class="ident">chunk_size</span>: <span class="ident">usize</span>,
<span class="ident">db</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txs_downloaded</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[];
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txs_downloaded</span> <span class="op">=</span> <span class="macro">vec!</span>[];
<span class="kw">let</span> <span class="ident">txids_raw_in_db</span>: <span class="ident">HashSet</span><span class="op"><</span><span class="ident">Txid</span><span class="op">></span> <span class="op">=</span> <span class="ident">txs_raw_in_db</span>.<span class="ident">keys</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">txids_to_download</span>: <span class="ident">Vec</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">Txid</span><span class="op">></span> <span class="op">=</span> <span class="ident">history_txs_id</span>.<span class="ident">difference</span>(<span class="kw-2">&</span><span class="ident">txids_raw_in_db</span>).<span class="ident">collect</span>();
<span class="kw">if</span> <span class="op">!</span><span class="ident">txids_to_download</span>.<span class="ident">is_empty</span>() {
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"got {} txs to download"</span>, <span class="ident">txids_to_download</span>.<span class="ident">len</span>());
- <span class="ident">txs_downloaded</span>.<span class="ident">extend</span>(<span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">download_and_save_in_chunks</span>(
+ <span class="macro">info!</span>(<span class="string">"got {} txs to download"</span>, <span class="ident">txids_to_download</span>.<span class="ident">len</span>());
+ <span class="ident">txs_downloaded</span>.<span class="ident">extend</span>(<span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">download_and_save_in_chunks</span>(
<span class="ident">txids_to_download</span>,
<span class="ident">chunk_size</span>,
<span class="ident">db</span>,
))<span class="question-mark">?</span>);
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">prev_txids</span> <span class="op">=</span> <span class="ident">HashSet</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txids_downloaded</span> <span class="op">=</span> <span class="ident">HashSet</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">prev_txids</span> <span class="op">=</span> <span class="ident">HashSet::new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txids_downloaded</span> <span class="op">=</span> <span class="ident">HashSet::new</span>();
<span class="kw">for</span> <span class="ident">tx</span> <span class="kw">in</span> <span class="ident">txs_downloaded</span>.<span class="ident">iter</span>() {
<span class="ident">txids_downloaded</span>.<span class="ident">insert</span>(<span class="ident">tx</span>.<span class="ident">txid</span>());
<span class="comment">// add every previous input tx, but skip coinbase</span>
<span class="ident">txids_downloaded</span>.<span class="ident">union</span>(<span class="kw-2">&</span><span class="ident">txids_raw_in_db</span>).<span class="ident">cloned</span>().<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">prev_txs_to_download</span>: <span class="ident">Vec</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">Txid</span><span class="op">></span> <span class="op">=</span>
<span class="ident">prev_txids</span>.<span class="ident">difference</span>(<span class="kw-2">&</span><span class="ident">already_present</span>).<span class="ident">collect</span>();
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"{} previous txs to download"</span>, <span class="ident">prev_txs_to_download</span>.<span class="ident">len</span>());
- <span class="ident">txs_downloaded</span>.<span class="ident">extend</span>(<span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">download_and_save_in_chunks</span>(
+ <span class="macro">info!</span>(<span class="string">"{} previous txs to download"</span>, <span class="ident">prev_txs_to_download</span>.<span class="ident">len</span>());
+ <span class="ident">txs_downloaded</span>.<span class="ident">extend</span>(<span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">download_and_save_in_chunks</span>(
<span class="ident">prev_txs_to_download</span>,
<span class="ident">chunk_size</span>,
<span class="ident">db</span>,
<span class="ident">txs_details_in_db</span>: <span class="kw-2">&</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">Txid</span>, <span class="ident">TransactionDetails</span><span class="op">></span>,
<span class="ident">chunk_size</span>: <span class="ident">usize</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">Txid</span>, <span class="ident">u64</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txid_timestamp</span> <span class="op">=</span> <span class="ident">HashMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txid_timestamp</span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
<span class="kw">let</span> <span class="ident">needed_txid_height</span>: <span class="ident">HashMap</span><span class="op"><</span><span class="kw-2">&</span><span class="ident">Txid</span>, <span class="ident">u32</span><span class="op">></span> <span class="op">=</span> <span class="ident">txid_height</span>
.<span class="ident">iter</span>()
.<span class="ident">filter</span>(<span class="op">|</span>(<span class="ident">t</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">txs_details_in_db</span>.<span class="ident">get</span>(<span class="kw-2">*</span><span class="ident">t</span>).<span class="ident">is_none</span>())
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">needed_heights</span>: <span class="ident">HashSet</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span> <span class="op">=</span> <span class="ident">needed_txid_height</span>.<span class="ident">values</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>();
<span class="kw">if</span> <span class="op">!</span><span class="ident">needed_heights</span>.<span class="ident">is_empty</span>() {
- <span class="macro">info</span><span class="macro">!</span>(<span class="string">"{} headers to download for timestamp"</span>, <span class="ident">needed_heights</span>.<span class="ident">len</span>());
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">height_timestamp</span>: <span class="ident">HashMap</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">u64</span><span class="op">></span> <span class="op">=</span> <span class="ident">HashMap</span>::<span class="ident">new</span>();
- <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">needed_heights</span>.<span class="ident">into_iter</span>(), <span class="ident">chunk_size</span>) {
+ <span class="macro">info!</span>(<span class="string">"{} headers to download for timestamp"</span>, <span class="ident">needed_heights</span>.<span class="ident">len</span>());
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">height_timestamp</span>: <span class="ident">HashMap</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">u64</span><span class="op">></span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
+ <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">needed_heights</span>.<span class="ident">into_iter</span>(), <span class="ident">chunk_size</span>) {
<span class="kw">let</span> <span class="ident">call_result</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">BlockHeader</span><span class="op">></span> <span class="op">=</span>
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">els_batch_block_header</span>(<span class="ident">chunk</span>.<span class="ident">clone</span>()))<span class="question-mark">?</span>;
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">els_batch_block_header</span>(<span class="ident">chunk</span>.<span class="ident">clone</span>()))<span class="question-mark">?</span>;
<span class="ident">height_timestamp</span>.<span class="ident">extend</span>(
<span class="ident">chunk</span>
.<span class="ident">into_iter</span>()
<span class="kw">for</span> (<span class="ident">txid</span>, <span class="ident">height</span>) <span class="kw">in</span> <span class="ident">needed_txid_height</span> {
<span class="kw">let</span> <span class="ident">timestamp</span> <span class="op">=</span> <span class="ident">height_timestamp</span>
.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">height</span>)
- .<span class="ident">ok_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="string">"timestamp missing"</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>;
+ .<span class="ident">ok_or_else</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">Error::Generic</span>(<span class="string">"timestamp missing"</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>;
<span class="ident">txid_timestamp</span>.<span class="ident">insert</span>(<span class="kw-2">*</span><span class="ident">txid</span>, <span class="kw-2">*</span><span class="ident">timestamp</span>);
}
}
<span class="ident">chunk_size</span>: <span class="ident">usize</span>,
<span class="ident">db</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">D</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txs_downloaded</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[];
- <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator</span>::<span class="ident">new</span>(<span class="ident">to_download</span>.<span class="ident">into_iter</span>(), <span class="ident">chunk_size</span>) {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txs_downloaded</span> <span class="op">=</span> <span class="macro">vec!</span>[];
+ <span class="kw">for</span> <span class="ident">chunk</span> <span class="kw">in</span> <span class="ident">ChunksIterator::new</span>(<span class="ident">to_download</span>.<span class="ident">into_iter</span>(), <span class="ident">chunk_size</span>) {
<span class="kw">let</span> <span class="ident">call_result</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span> <span class="op">=</span>
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">els_batch_transaction_get</span>(<span class="ident">chunk</span>))<span class="question-mark">?</span>;
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">els_batch_transaction_get</span>(<span class="ident">chunk</span>))<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">db</span>.<span class="ident">begin_batch</span>();
<span class="kw">for</span> <span class="ident">new_tx</span> <span class="kw">in</span> <span class="ident">call_result</span>.<span class="ident">iter</span>() {
<span class="ident">batch</span>.<span class="ident">set_raw_tx</span>(<span class="ident">new_tx</span>)<span class="question-mark">?</span>;
<span class="ident">updates</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="kw">dyn</span> <span class="ident">BatchOperations</span>,
<span class="ident">utxo_deps</span>: <span class="kw-2">&</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">OutPoint</span>, <span class="ident">OutPoint</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">db</span>.<span class="ident">get_raw_tx</span>(<span class="ident">txid</span>)<span class="question-mark">?</span>.<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">TransactionNotFound</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">db</span>.<span class="ident">get_raw_tx</span>(<span class="ident">txid</span>)<span class="question-mark">?</span>.<span class="ident">ok_or</span>(<span class="ident">Error::TransactionNotFound</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">incoming</span>: <span class="ident">u64</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">outgoing</span>: <span class="ident">u64</span> <span class="op">=</span> <span class="number">0</span>;
<span class="comment">// The input is not ours, but we still need to count it for the fees</span>
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">db</span>
.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">input</span>.<span class="ident">previous_output</span>.<span class="ident">txid</span>)<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">TransactionNotFound</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">Error::TransactionNotFound</span>)<span class="question-mark">?</span>;
<span class="ident">inputs_sum</span> <span class="op">+</span><span class="op">=</span> <span class="ident">tx</span>.<span class="ident">output</span>[<span class="ident">input</span>.<span class="ident">previous_output</span>.<span class="ident">vout</span> <span class="kw">as</span> <span class="ident">usize</span>].<span class="ident">value</span>;
}
<span class="comment">// this output is ours, we have a path to derive it</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>((<span class="ident">keychain</span>, <span class="ident">_child</span>)) <span class="op">=</span> <span class="ident">db</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">output</span>.<span class="ident">script_pubkey</span>)<span class="question-mark">?</span> {
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"{} output #{} is mine, adding utxo"</span>, <span class="ident">txid</span>, <span class="ident">i</span>);
+ <span class="macro">debug!</span>(<span class="string">"{} output #{} is mine, adding utxo"</span>, <span class="ident">txid</span>, <span class="ident">i</span>);
<span class="ident">updates</span>.<span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">new</span>(<span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>),
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::new</span>(<span class="ident">tx</span>.<span class="ident">txid</span>(), <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>),
<span class="ident">txout</span>: <span class="ident">output</span>.<span class="ident">clone</span>(),
<span class="ident">keychain</span>,
})<span class="question-mark">?</span>;
<span class="ident">tx_raw_in_db</span>: <span class="kw-2">&</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">Txid</span>, <span class="ident">Transaction</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">HashMap</span><span class="op"><</span><span class="ident">OutPoint</span>, <span class="ident">OutPoint</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">db</span>.<span class="ident">iter_utxos</span>()<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">utxos_deps</span> <span class="op">=</span> <span class="ident">HashMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">utxos_deps</span> <span class="op">=</span> <span class="ident">HashMap::new</span>();
<span class="kw">for</span> <span class="ident">utxo</span> <span class="kw">in</span> <span class="ident">utxos</span> {
<span class="kw">let</span> <span class="ident">from_tx</span> <span class="op">=</span> <span class="ident">tx_raw_in_db</span>
.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">outpoint</span>.<span class="ident">txid</span>)
- .<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">TransactionNotFound</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">Error::TransactionNotFound</span>)<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">input</span> <span class="kw">in</span> <span class="ident">from_tx</span>.<span class="ident">input</span>.<span class="ident">iter</span>() {
<span class="ident">utxos_deps</span>.<span class="ident">insert</span>(<span class="ident">input</span>.<span class="ident">previous_output</span>, <span class="ident">utxo</span>.<span class="ident">outpoint</span>);
}
<!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="Source of the Rust file `src/database/any.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>any.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_from</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_from</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">variant</span>:<span class="ident">ident</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">cfg</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
$( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">cfg</span> )<span class="op">*</span>
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span><span class="op">></span> <span class="kw">for</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span> {
};
}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_inner_method</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_inner_method</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">enum_name</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="self">self</span>:<span class="macro-nonterminal">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>:<span class="ident">ident</span> $(, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>:<span class="ident">expr</span>)<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
<span class="kw">match</span> <span class="macro-nonterminal">$</span><span class="self">self</span> {
- <span class="macro-nonterminal">$</span><span class="macro-nonterminal">enum_name</span>::<span class="ident">Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
+ <span class="macro-nonterminal">$</span><span class="macro-nonterminal">enum_name::Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
- <span class="macro-nonterminal">$</span><span class="macro-nonterminal">enum_name</span>::<span class="ident">Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
+ <span class="macro-nonterminal">$</span><span class="macro-nonterminal">enum_name::Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="macro-nonterminal">$</span><span class="macro-nonterminal">name</span>( $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>, )<span class="op">*</span> ),
}
}
}
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">AnyDatabase</span> {
<span class="doccomment">/// In-memory ephemeral database</span>
- <span class="ident">Memory</span>(<span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>),
+ <span class="ident">Memory</span>(<span class="ident">memory::MemoryDatabase</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)))]</span>
<span class="doccomment">/// Simple key-value embedded database based on [`sled`]</span>
- <span class="ident">Sled</span>(<span class="ident">sled</span>::<span class="ident">Tree</span>),
+ <span class="ident">Sled</span>(<span class="ident">sled::Tree</span>),
}
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>, <span class="ident">AnyDatabase</span>, <span class="ident">Memory</span>,);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">sled</span>::<span class="ident">Tree</span>, <span class="ident">AnyDatabase</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="ident">memory::MemoryDatabase</span>, <span class="ident">AnyDatabase</span>, <span class="ident">Memory</span>,);
+<span class="macro">impl_from!</span>(<span class="ident">sled::Tree</span>, <span class="ident">AnyDatabase</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
<span class="doccomment">/// Type that contains any of the [`BatchDatabase::Batch`] types defined by the library</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">AnyBatch</span> {
<span class="doccomment">/// In-memory ephemeral database</span>
- <span class="ident">Memory</span>(<span class="op"><</span><span class="ident">memory</span>::<span class="ident">MemoryDatabase</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span>::<span class="ident">Batch</span>),
+ <span class="ident">Memory</span>(<span class="op"><</span><span class="ident">memory::MemoryDatabase</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span><span class="ident">::Batch</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)))]</span>
<span class="doccomment">/// Simple key-value embedded database based on [`sled`]</span>
- <span class="ident">Sled</span>(<span class="op"><</span><span class="ident">sled</span>::<span class="ident">Tree</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span>::<span class="ident">Batch</span>),
+ <span class="ident">Sled</span>(<span class="op"><</span><span class="ident">sled::Tree</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span><span class="ident">::Batch</span>),
}
-<span class="macro">impl_from</span><span class="macro">!</span>(
- <span class="op"><</span><span class="ident">memory</span>::<span class="ident">MemoryDatabase</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span>::<span class="ident">Batch</span>,
+<span class="macro">impl_from!</span>(
+ <span class="op"><</span><span class="ident">memory::MemoryDatabase</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span><span class="ident">::Batch</span>,
<span class="ident">AnyBatch</span>,
<span class="ident">Memory</span>,
);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="op"><</span><span class="ident">sled</span>::<span class="ident">Tree</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span>::<span class="ident">Batch</span>, <span class="ident">AnyBatch</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
+<span class="macro">impl_from!</span>(<span class="op"><</span><span class="ident">sled::Tree</span> <span class="kw">as</span> <span class="ident">BatchDatabase</span><span class="op">></span><span class="ident">::Batch</span>, <span class="ident">AnyBatch</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
<span class="kw">impl</span> <span class="ident">BatchOperations</span> <span class="kw">for</span> <span class="ident">AnyDatabase</span> {
<span class="kw">fn</span> <span class="ident">set_script_pubkey</span>(
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">child</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">impl_inner_method!</span>(
<span class="ident">AnyDatabase</span>,
<span class="self">self</span>,
<span class="ident">set_script_pubkey</span>,
)
}
<span class="kw">fn</span> <span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">utxo</span>: <span class="kw-2">&</span><span class="ident">LocalUtxo</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_utxo</span>, <span class="ident">utxo</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_utxo</span>, <span class="ident">utxo</span>)
}
<span class="kw">fn</span> <span class="ident">set_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_raw_tx</span>, <span class="ident">transaction</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_raw_tx</span>, <span class="ident">transaction</span>)
}
<span class="kw">fn</span> <span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">TransactionDetails</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_tx</span>, <span class="ident">transaction</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_tx</span>, <span class="ident">transaction</span>)
}
<span class="kw">fn</span> <span class="ident">set_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">value</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_last_index</span>, <span class="ident">keychain</span>, <span class="ident">value</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">set_last_index</span>, <span class="ident">keychain</span>, <span class="ident">value</span>)
}
<span class="kw">fn</span> <span class="ident">del_script_pubkey_from_path</span>(
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">child</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">impl_inner_method!</span>(
<span class="ident">AnyDatabase</span>,
<span class="self">self</span>,
<span class="ident">del_script_pubkey_from_path</span>,
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_path_from_script_pubkey</span>, <span class="ident">script</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_path_from_script_pubkey</span>, <span class="ident">script</span>)
}
<span class="kw">fn</span> <span class="ident">del_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_utxo</span>, <span class="ident">outpoint</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_utxo</span>, <span class="ident">outpoint</span>)
}
<span class="kw">fn</span> <span class="ident">del_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_raw_tx</span>, <span class="ident">txid</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_raw_tx</span>, <span class="ident">txid</span>)
}
<span class="kw">fn</span> <span class="ident">del_tx</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>,
<span class="ident">include_raw</span>: <span class="ident">bool</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
}
<span class="kw">fn</span> <span class="ident">del_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_last_index</span>, <span class="ident">keychain</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">del_last_index</span>, <span class="ident">keychain</span>)
}
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">bytes</span>: <span class="ident">B</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">impl_inner_method!</span>(
<span class="ident">AnyDatabase</span>,
<span class="self">self</span>,
<span class="ident">check_descriptor_checksum</span>,
}
<span class="kw">fn</span> <span class="ident">iter_script_pubkeys</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">KeychainKind</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_script_pubkeys</span>, <span class="ident">keychain</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_script_pubkeys</span>, <span class="ident">keychain</span>)
}
<span class="kw">fn</span> <span class="ident">iter_utxos</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_utxos</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_utxos</span>)
}
<span class="kw">fn</span> <span class="ident">iter_raw_txs</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_raw_txs</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_raw_txs</span>)
}
<span class="kw">fn</span> <span class="ident">iter_txs</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_txs</span>, <span class="ident">include_raw</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">iter_txs</span>, <span class="ident">include_raw</span>)
}
<span class="kw">fn</span> <span class="ident">get_script_pubkey_from_path</span>(
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">child</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(
+ <span class="macro">impl_inner_method!</span>(
<span class="ident">AnyDatabase</span>,
<span class="self">self</span>,
<span class="ident">get_script_pubkey_from_path</span>,
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_path_from_script_pubkey</span>, <span class="ident">script</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_path_from_script_pubkey</span>, <span class="ident">script</span>)
}
<span class="kw">fn</span> <span class="ident">get_utxo</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_utxo</span>, <span class="ident">outpoint</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_utxo</span>, <span class="ident">outpoint</span>)
}
<span class="kw">fn</span> <span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_raw_tx</span>, <span class="ident">txid</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_raw_tx</span>, <span class="ident">txid</span>)
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
}
<span class="kw">fn</span> <span class="ident">get_last_index</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_last_index</span>, <span class="ident">keychain</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">get_last_index</span>, <span class="ident">keychain</span>)
}
<span class="kw">fn</span> <span class="ident">increment_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">increment_last_index</span>, <span class="ident">keychain</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyDatabase</span>, <span class="self">self</span>, <span class="ident">increment_last_index</span>, <span class="ident">keychain</span>)
}
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">child</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_script_pubkey</span>, <span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">child</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_script_pubkey</span>, <span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">child</span>)
}
<span class="kw">fn</span> <span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">utxo</span>: <span class="kw-2">&</span><span class="ident">LocalUtxo</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_utxo</span>, <span class="ident">utxo</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_utxo</span>, <span class="ident">utxo</span>)
}
<span class="kw">fn</span> <span class="ident">set_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_raw_tx</span>, <span class="ident">transaction</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_raw_tx</span>, <span class="ident">transaction</span>)
}
<span class="kw">fn</span> <span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">TransactionDetails</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_tx</span>, <span class="ident">transaction</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_tx</span>, <span class="ident">transaction</span>)
}
<span class="kw">fn</span> <span class="ident">set_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">value</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_last_index</span>, <span class="ident">keychain</span>, <span class="ident">value</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">set_last_index</span>, <span class="ident">keychain</span>, <span class="ident">value</span>)
}
<span class="kw">fn</span> <span class="ident">del_script_pubkey_from_path</span>(
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">child</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_script_pubkey_from_path</span>, <span class="ident">keychain</span>, <span class="ident">child</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_script_pubkey_from_path</span>, <span class="ident">keychain</span>, <span class="ident">child</span>)
}
<span class="kw">fn</span> <span class="ident">del_path_from_script_pubkey</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_path_from_script_pubkey</span>, <span class="ident">script</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_path_from_script_pubkey</span>, <span class="ident">script</span>)
}
<span class="kw">fn</span> <span class="ident">del_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_utxo</span>, <span class="ident">outpoint</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_utxo</span>, <span class="ident">outpoint</span>)
}
<span class="kw">fn</span> <span class="ident">del_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_raw_tx</span>, <span class="ident">txid</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_raw_tx</span>, <span class="ident">txid</span>)
}
<span class="kw">fn</span> <span class="ident">del_tx</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>,
<span class="ident">include_raw</span>: <span class="ident">bool</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_tx</span>, <span class="ident">txid</span>, <span class="ident">include_raw</span>)
}
<span class="kw">fn</span> <span class="ident">del_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">impl_inner_method</span><span class="macro">!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_last_index</span>, <span class="ident">keychain</span>)
+ <span class="macro">impl_inner_method!</span>(<span class="ident">AnyBatch</span>, <span class="self">self</span>, <span class="ident">del_last_index</span>, <span class="ident">keychain</span>)
}
}
<span class="kw">impl</span> <span class="ident">BatchDatabase</span> <span class="kw">for</span> <span class="ident">AnyDatabase</span> {
<span class="kw">type</span> <span class="ident">Batch</span> <span class="op">=</span> <span class="ident">AnyBatch</span>;
- <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Batch</span> {
+ <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span><span class="ident">::Batch</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">AnyDatabase</span>::<span class="ident">Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">begin_batch</span>().<span class="ident">into</span>(),
+ <span class="ident">AnyDatabase::Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">begin_batch</span>().<span class="ident">into</span>(),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
- <span class="ident">AnyDatabase</span>::<span class="ident">Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">begin_batch</span>().<span class="ident">into</span>(),
+ <span class="ident">AnyDatabase::Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">begin_batch</span>().<span class="ident">into</span>(),
}
}
- <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span>::<span class="ident">Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span><span class="ident">::Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">AnyDatabase</span>::<span class="ident">Memory</span>(<span class="ident">db</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">batch</span> {
- <span class="ident">AnyBatch</span>::<span class="ident">Memory</span>(<span class="ident">batch</span>) <span class="op">=</span><span class="op">></span> <span class="ident">db</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>),
+ <span class="ident">AnyDatabase::Memory</span>(<span class="ident">db</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">batch</span> {
+ <span class="ident">AnyBatch::Memory</span>(<span class="ident">batch</span>) <span class="op">=</span><span class="op">></span> <span class="ident">db</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented</span><span class="macro">!</span>(<span class="string">"Sled batch shouldn't be used with Memory db."</span>),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented!</span>(<span class="string">"Sled batch shouldn't be used with Memory db."</span>),
},
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
- <span class="ident">AnyDatabase</span>::<span class="ident">Sled</span>(<span class="ident">db</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">batch</span> {
- <span class="ident">AnyBatch</span>::<span class="ident">Sled</span>(<span class="ident">batch</span>) <span class="op">=</span><span class="op">></span> <span class="ident">db</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented</span><span class="macro">!</span>(<span class="string">"Memory batch shouldn't be used with Sled db."</span>),
+ <span class="ident">AnyDatabase::Sled</span>(<span class="ident">db</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">batch</span> {
+ <span class="ident">AnyBatch::Sled</span>(<span class="ident">batch</span>) <span class="op">=</span><span class="op">></span> <span class="ident">db</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented!</span>(<span class="string">"Memory batch shouldn't be used with Sled db."</span>),
},
}
}
<span class="doccomment">/// Configuration type for a [`sled::Tree`] database</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Serialize</span>, <span class="ident">serde::Deserialize</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">SledDbConfiguration</span> {
<span class="doccomment">/// Main directory of the db</span>
<span class="kw">pub</span> <span class="ident">path</span>: <span class="ident">String</span>,
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
-<span class="kw">impl</span> <span class="ident">ConfigurableDatabase</span> <span class="kw">for</span> <span class="ident">sled</span>::<span class="ident">Tree</span> {
+<span class="kw">impl</span> <span class="ident">ConfigurableDatabase</span> <span class="kw">for</span> <span class="ident">sled::Tree</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">SledDbConfiguration</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">sled</span>::<span class="ident">open</span>(<span class="kw-2">&</span><span class="ident">config</span>.<span class="ident">path</span>)<span class="question-mark">?</span>.<span class="ident">open_tree</span>(<span class="kw-2">&</span><span class="ident">config</span>.<span class="ident">tree_name</span>)<span class="question-mark">?</span>)
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="prelude-val">Ok</span>(<span class="ident">sled::open</span>(<span class="kw-2">&</span><span class="ident">config</span>.<span class="ident">path</span>)<span class="question-mark">?</span>.<span class="ident">open_tree</span>(<span class="kw-2">&</span><span class="ident">config</span>.<span class="ident">tree_name</span>)<span class="question-mark">?</span>)
}
}
<span class="doccomment">/// This allows storing a single configuration that can be loaded into an [`AnyDatabase`]</span>
<span class="doccomment">/// instance. Wallets that plan to offer users the ability to switch blockchain backend at runtime</span>
<span class="doccomment">/// will find this particularly useful.</span>
-<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde</span>::<span class="ident">Serialize</span>, <span class="ident">serde</span>::<span class="ident">Deserialize</span>)]</span>
+<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">serde::Serialize</span>, <span class="ident">serde::Deserialize</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">AnyDatabaseConfig</span> {
<span class="doccomment">/// Memory database has no config</span>
<span class="ident">Memory</span>(()),
<span class="kw">impl</span> <span class="ident">ConfigurableDatabase</span> <span class="kw">for</span> <span class="ident">AnyDatabase</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> <span class="ident">AnyDatabaseConfig</span>;
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="kw">match</span> <span class="ident">config</span> {
- <span class="ident">AnyDatabaseConfig</span>::<span class="ident">Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
- <span class="ident">AnyDatabase</span>::<span class="ident">Memory</span>(<span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>::<span class="ident">from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
+ <span class="ident">AnyDatabaseConfig::Memory</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">AnyDatabase::Memory</span>(<span class="ident">memory::MemoryDatabase::from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>)
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
- <span class="ident">AnyDatabaseConfig</span>::<span class="ident">Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">AnyDatabase</span>::<span class="ident">Sled</span>(<span class="ident">sled</span>::<span class="ident">Tree</span>::<span class="ident">from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>),
+ <span class="ident">AnyDatabaseConfig::Sled</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">AnyDatabase::Sled</span>(<span class="ident">sled::Tree::from_config</span>(<span class="ident">inner</span>)<span class="question-mark">?</span>),
})
}
}
-<span class="macro">impl_from</span><span class="macro">!</span>((), <span class="ident">AnyDatabaseConfig</span>, <span class="ident">Memory</span>,);
-<span class="macro">impl_from</span><span class="macro">!</span>(<span class="ident">SledDbConfiguration</span>, <span class="ident">AnyDatabaseConfig</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
+<span class="macro">impl_from!</span>((), <span class="ident">AnyDatabaseConfig</span>, <span class="ident">Memory</span>,);
+<span class="macro">impl_from!</span>(<span class="ident">SledDbConfiguration</span>, <span class="ident">AnyDatabaseConfig</span>, <span class="ident">Sled</span>, <span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>);
</pre></div>
</section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script></body></html>
\ No newline at end of file
<!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="Source of the Rust file `src/database/keyvalue.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>keyvalue.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">TryInto</span>;
+<span class="kw">use</span> <span class="ident">std::convert::TryInto</span>;
<span class="kw">use</span> <span class="ident">sled</span>::{<span class="ident">Batch</span>, <span class="ident">Tree</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::{<span class="ident">deserialize</span>, <span class="ident">serialize</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::<span class="ident">Txid</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::encode</span>::{<span class="ident">deserialize</span>, <span class="ident">serialize</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types::Txid</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">Transaction</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">memory</span>::<span class="ident">MapKey</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">Database</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::memory::MapKey</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">Database</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::<span class="kw-2">*</span>;
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_batch_operations</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_batch_operations</span> {
( { $(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>:<span class="ident">tt</span>)<span class="op">*</span> }, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">process_delete</span>:<span class="ident">ident</span> ) <span class="op">=</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">set_script_pubkey</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">path</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">serialize</span>(<span class="ident">script</span>))$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json!</span>({
<span class="string">"t"</span>: <span class="ident">keychain</span>,
<span class="string">"p"</span>: <span class="ident">path</span>,
});
- <span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">serde_json</span>::<span class="ident">to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
+ <span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">serde_json::to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">utxo</span>: <span class="kw-2">&</span><span class="ident">LocalUtxo</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json!</span>({
<span class="string">"t"</span>: <span class="ident">utxo</span>.<span class="ident">txout</span>,
<span class="string">"i"</span>: <span class="ident">utxo</span>.<span class="ident">keychain</span>,
});
- <span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">serde_json</span>::<span class="ident">to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
+ <span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">serde_json::to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>())).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>())).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">serialize</span>(<span class="ident">transaction</span>);
<span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">value</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
}
<span class="kw">fn</span> <span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">TransactionDetails</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="comment">// remove the raw tx from the serialized version</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">to_value</span>(<span class="ident">transaction</span>)<span class="question-mark">?</span>;
- <span class="ident">value</span>[<span class="string">"transaction"</span>] <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">Value</span>::<span class="ident">Null</span>;
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">serde_json::to_value</span>(<span class="ident">transaction</span>)<span class="question-mark">?</span>;
+ <span class="ident">value</span>[<span class="string">"transaction"</span>] <span class="op">=</span> <span class="ident">serde_json::Value::Null</span>;
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">serde_json::to_vec</span>(<span class="kw-2">&</span><span class="ident">value</span>)<span class="question-mark">?</span>;
<span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">value</span>)$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
}
<span class="kw">fn</span> <span class="ident">set_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">value</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="kw-2">&</span><span class="ident">value</span>.<span class="ident">to_be_bytes</span>())$(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">after_insert</span>)<span class="kw-2">*</span>;
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">del_script_pubkey_from_path</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">path</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_or</span>(<span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>), <span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="prelude-val">Some</span>(<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">x</span>)).<span class="ident">transpose</span>())<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">del_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="kw">match</span> <span class="ident">res</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>((<span class="ident">st</span>, <span class="ident">path</span>)))
}
}
<span class="kw">fn</span> <span class="ident">del_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="kw">match</span> <span class="ident">res</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">LocalUtxo</span> { <span class="ident">outpoint</span>: <span class="ident">outpoint</span>.<span class="ident">clone</span>(), <span class="ident">txout</span>, <span class="ident">keychain</span> }))
}
}
<span class="kw">fn</span> <span class="ident">del_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_or</span>(<span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>), <span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="prelude-val">Some</span>(<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">x</span>)).<span class="ident">transpose</span>())<span class="question-mark">?</span>)
}
<span class="prelude-val">None</span>
};
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="kw">match</span> <span class="ident">res</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
<span class="ident">val</span>.<span class="ident">transaction</span> <span class="op">=</span> <span class="ident">raw_tx</span>;
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">val</span>))
}
<span class="kw">fn</span> <span class="ident">del_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">remove</span>(<span class="ident">key</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete</span><span class="macro">!</span>(<span class="macro-nonterminal">res</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro">process_delete!</span>(<span class="macro-nonterminal">res</span>);
<span class="kw">match</span> <span class="ident">res</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">array</span>: [<span class="ident">u8</span>; <span class="number">4</span>] <span class="op">=</span> <span class="ident">b</span>.<span class="ident">as_ref</span>().<span class="ident">try_into</span>().<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32</span>::<span class="ident">from_be_bytes</span>(<span class="ident">array</span>);
+ <span class="kw">let</span> <span class="ident">array</span>: [<span class="ident">u8</span>; <span class="number">4</span>] <span class="op">=</span> <span class="ident">b</span>.<span class="ident">as_ref</span>().<span class="ident">try_into</span>().<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32::from_be_bytes</span>(<span class="ident">array</span>);
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">val</span>))
}
}
}
}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">process_delete_tree</span> {
+<span class="macro">macro_rules!</span> <span class="ident">process_delete_tree</span> {
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">res</span>:<span class="ident">expr</span>) <span class="op">=</span><span class="op">></span> {
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">res</span><span class="question-mark">?</span>
};
}
<span class="kw">impl</span> <span class="ident">BatchOperations</span> <span class="kw">for</span> <span class="ident">Tree</span> {
- <span class="macro">impl_batch_operations</span><span class="macro">!</span>({<span class="question-mark">?</span>}, <span class="ident">process_delete_tree</span>);
+ <span class="macro">impl_batch_operations!</span>({<span class="question-mark">?</span>}, <span class="ident">process_delete_tree</span>);
}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">process_delete_batch</span> {
+<span class="macro">macro_rules!</span> <span class="ident">process_delete_batch</span> {
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">res</span>:<span class="ident">expr</span>) <span class="op">=</span><span class="op">></span> {
- <span class="prelude-val">None</span> <span class="kw">as</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">sled</span>::<span class="ident">IVec</span><span class="op">></span>
+ <span class="prelude-val">None</span> <span class="kw">as</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">sled::IVec</span><span class="op">></span>
};
}
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_variables</span>)]</span>
<span class="kw">impl</span> <span class="ident">BatchOperations</span> <span class="kw">for</span> <span class="ident">Batch</span> {
- <span class="macro">impl_batch_operations</span><span class="macro">!</span>({}, <span class="ident">process_delete_batch</span>);
+ <span class="macro">impl_batch_operations!</span>({}, <span class="ident">process_delete_batch</span>);
}
<span class="kw">impl</span> <span class="ident">Database</span> <span class="kw">for</span> <span class="ident">Tree</span> {
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">bytes</span>: <span class="ident">B</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">DescriptorChecksum</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::DescriptorChecksum</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">prev</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>)<span class="question-mark">?</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="ident">x</span>.<span class="ident">to_vec</span>());
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">val</span>) <span class="op">=</span> <span class="ident">prev</span> {
<span class="kw">if</span> <span class="ident">val</span> <span class="op">=</span><span class="op">=</span> <span class="ident">bytes</span>.<span class="ident">as_ref</span>() {
<span class="prelude-val">Ok</span>(())
} <span class="kw">else</span> {
- <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">ChecksumMismatch</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">Error::ChecksumMismatch</span>)
}
} <span class="kw">else</span> {
<span class="self">self</span>.<span class="ident">insert</span>(<span class="kw-2">&</span><span class="ident">key</span>, <span class="ident">bytes</span>.<span class="ident">as_ref</span>())<span class="question-mark">?</span>;
}
<span class="kw">fn</span> <span class="ident">iter_script_pubkeys</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">KeychainKind</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="ident">keychain</span>, <span class="prelude-val">None</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="ident">keychain</span>, <span class="prelude-val">None</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">scan_prefix</span>(<span class="ident">key</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">v</span>) <span class="op">=</span> <span class="ident">x</span><span class="question-mark">?</span>;
}
<span class="kw">fn</span> <span class="ident">iter_utxos</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">scan_prefix</span>(<span class="ident">key</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="op">=</span> <span class="ident">x</span><span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">k</span>[<span class="number">1</span>..])<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">LocalUtxo</span> {
<span class="ident">outpoint</span>,
}
<span class="kw">fn</span> <span class="ident">iter_raw_txs</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">scan_prefix</span>(<span class="ident">key</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">v</span>) <span class="op">=</span> <span class="ident">x</span><span class="question-mark">?</span>;
}
<span class="kw">fn</span> <span class="ident">iter_txs</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">scan_prefix</span>(<span class="ident">key</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="op">=</span> <span class="ident">x</span><span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txdetails</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txdetails</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">v</span>)<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">include_raw</span> {
<span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">k</span>[<span class="number">1</span>..])<span class="question-mark">?</span>;
<span class="ident">txdetails</span>.<span class="ident">transaction</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">txid</span>)<span class="question-mark">?</span>;
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">path</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">b</span>)).<span class="ident">transpose</span>()<span class="question-mark">?</span>)
}
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>((<span class="ident">st</span>, <span class="ident">path</span>))
})
}
<span class="kw">fn</span> <span class="ident">get_utxo</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"i"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">LocalUtxo</span> {
<span class="ident">outpoint</span>: <span class="kw-2">*</span><span class="ident">outpoint</span>,
}
<span class="kw">fn</span> <span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">b</span>)).<span class="ident">transpose</span>()<span class="question-mark">?</span>)
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txdetails</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txdetails</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">serde_json::from_slice</span>(<span class="kw-2">&</span><span class="ident">b</span>)<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">include_raw</span> {
<span class="ident">txdetails</span>.<span class="ident">transaction</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">txid</span>)<span class="question-mark">?</span>;
}
}
<span class="kw">fn</span> <span class="ident">get_last_index</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">get</span>(<span class="ident">key</span>)<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">array</span>: [<span class="ident">u8</span>; <span class="number">4</span>] <span class="op">=</span> <span class="ident">b</span>
.<span class="ident">as_ref</span>()
.<span class="ident">try_into</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32</span>::<span class="ident">from_be_bytes</span>(<span class="ident">array</span>);
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32::from_be_bytes</span>(<span class="ident">array</span>);
<span class="prelude-val">Ok</span>(<span class="ident">val</span>)
})
.<span class="ident">transpose</span>()
<span class="comment">// inserts 0 if not present</span>
<span class="kw">fn</span> <span class="ident">increment_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">update_and_fetch</span>(<span class="ident">key</span>, <span class="op">|</span><span class="ident">prev</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">new</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">prev</span> {
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">array</span>: [<span class="ident">u8</span>; <span class="number">4</span>] <span class="op">=</span> <span class="ident">b</span>.<span class="ident">try_into</span>().<span class="ident">unwrap_or</span>([<span class="number">0</span>; <span class="number">4</span>]);
- <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32</span>::<span class="ident">from_be_bytes</span>(<span class="ident">array</span>);
+ <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32::from_be_bytes</span>(<span class="ident">array</span>);
<span class="ident">val</span> <span class="op">+</span> <span class="number">1</span>
}
<span class="kw">let</span> <span class="ident">array</span>: [<span class="ident">u8</span>; <span class="number">4</span>] <span class="op">=</span> <span class="ident">b</span>
.<span class="ident">as_ref</span>()
.<span class="ident">try_into</span>()
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32</span>::<span class="ident">from_be_bytes</span>(<span class="ident">array</span>);
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::InvalidU32Bytes</span>(<span class="ident">b</span>.<span class="ident">to_vec</span>()))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">val</span> <span class="op">=</span> <span class="ident">u32::from_be_bytes</span>(<span class="ident">array</span>);
<span class="prelude-val">Ok</span>(<span class="ident">val</span>)
})
}
}
<span class="kw">impl</span> <span class="ident">BatchDatabase</span> <span class="kw">for</span> <span class="ident">Tree</span> {
- <span class="kw">type</span> <span class="ident">Batch</span> <span class="op">=</span> <span class="ident">sled</span>::<span class="ident">Batch</span>;
+ <span class="kw">type</span> <span class="ident">Batch</span> <span class="op">=</span> <span class="ident">sled::Batch</span>;
- <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Batch</span> {
- <span class="ident">sled</span>::<span class="ident">Batch</span>::<span class="ident">default</span>()
+ <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span><span class="ident">::Batch</span> {
+ <span class="ident">sled::Batch::default</span>()
}
- <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span>::<span class="ident">Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span><span class="ident">::Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">apply_batch</span>(<span class="ident">batch</span>)<span class="question-mark">?</span>)
}
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::{<span class="ident">Arc</span>, <span class="ident">Condvar</span>, <span class="ident">Mutex</span>, <span class="ident">Once</span>};
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::{<span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
+ <span class="kw">use</span> <span class="ident">std::sync</span>::{<span class="ident">Arc</span>, <span class="ident">Condvar</span>, <span class="ident">Mutex</span>, <span class="ident">Once</span>};
+ <span class="kw">use</span> <span class="ident">std::time</span>::{<span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
<span class="kw">use</span> <span class="ident">sled</span>::{<span class="ident">Db</span>, <span class="ident">Tree</span>};
<span class="kw">static</span> <span class="kw-2">mut</span> <span class="ident">COUNT</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">0</span>;
- <span class="macro">lazy_static</span><span class="macro">!</span> {
+ <span class="macro">lazy_static!</span> {
<span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">DB</span>: <span class="ident">Arc</span><span class="op"><</span>(<span class="ident">Mutex</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Db</span><span class="op">></span><span class="op">></span>, <span class="ident">Condvar</span>)<span class="op">></span> <span class="op">=</span>
- <span class="ident">Arc</span>::<span class="ident">new</span>((<span class="ident">Mutex</span>::<span class="ident">new</span>(<span class="prelude-val">None</span>), <span class="ident">Condvar</span>::<span class="ident">new</span>()));
- <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">INIT</span>: <span class="ident">Once</span> <span class="op">=</span> <span class="ident">Once</span>::<span class="ident">new</span>();
+ <span class="ident">Arc::new</span>((<span class="ident">Mutex::new</span>(<span class="prelude-val">None</span>), <span class="ident">Condvar::new</span>()));
+ <span class="kw">static</span> <span class="kw-2">ref</span> <span class="ident">INIT</span>: <span class="ident">Once</span> <span class="op">=</span> <span class="ident">Once::new</span>();
}
<span class="kw">fn</span> <span class="ident">get_tree</span>() <span class="op">-</span><span class="op">></span> <span class="ident">Tree</span> {
<span class="ident">INIT</span>.<span class="ident">call_once</span>(<span class="op">|</span><span class="op">|</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">mutex</span>.<span class="ident">lock</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">time</span> <span class="op">=</span> <span class="ident">SystemTime</span>::<span class="ident">now</span>().<span class="ident">duration_since</span>(<span class="ident">UNIX_EPOCH</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">dir</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">env</span>::<span class="ident">temp_dir</span>();
- <span class="ident">dir</span>.<span class="ident">push</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"mbw_{}"</span>, <span class="ident">time</span>.<span class="ident">as_nanos</span>()));
+ <span class="kw">let</span> <span class="ident">time</span> <span class="op">=</span> <span class="ident">SystemTime::now</span>().<span class="ident">duration_since</span>(<span class="ident">UNIX_EPOCH</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">dir</span> <span class="op">=</span> <span class="ident">std::env::temp_dir</span>();
+ <span class="ident">dir</span>.<span class="ident">push</span>(<span class="macro">format!</span>(<span class="string">"mbw_{}"</span>, <span class="ident">time</span>.<span class="ident">as_nanos</span>()));
- <span class="kw-2">*</span><span class="ident">db</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sled</span>::<span class="ident">open</span>(<span class="ident">dir</span>).<span class="ident">unwrap</span>());
+ <span class="kw-2">*</span><span class="ident">db</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sled::open</span>(<span class="ident">dir</span>).<span class="ident">unwrap</span>());
<span class="ident">cvar</span>.<span class="ident">notify_all</span>();
});
<span class="ident">db</span>.<span class="ident">as_ref</span>()
.<span class="ident">unwrap</span>()
- .<span class="ident">open_tree</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"tree_{}"</span>, <span class="ident">COUNT</span>))
+ .<span class="ident">open_tree</span>(<span class="macro">format!</span>(<span class="string">"tree_{}"</span>, <span class="ident">COUNT</span>))
.<span class="ident">unwrap</span>()
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_batch_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_batch_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_batch_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_iter_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_iter_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_iter_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_del_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_del_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_del_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_utxo</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_utxo</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_utxo</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_raw_tx</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_raw_tx</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_raw_tx</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_tx</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_tx</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_tx</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_last_index</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_last_index</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_last_index</span>(<span class="ident">get_tree</span>());
}
}
</pre></div>
<!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="Source of the Rust file `src/database/memory.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>memory.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! This module defines an in-memory database type called [`MemoryDatabase`] that is based on a</span>
<span class="doccomment">//! [`BTreeMap`].</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Bound</span>::{<span class="ident">Excluded</span>, <span class="ident">Included</span>};
+<span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
+<span class="kw">use</span> <span class="ident">std::ops::Bound</span>::{<span class="ident">Excluded</span>, <span class="ident">Included</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::{<span class="ident">deserialize</span>, <span class="ident">serialize</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::<span class="ident">Txid</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::encode</span>::{<span class="ident">deserialize</span>, <span class="ident">serialize</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types::Txid</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">Transaction</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">ConfigurableDatabase</span>, <span class="ident">Database</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">ConfigurableDatabase</span>, <span class="ident">Database</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::<span class="kw-2">*</span>;
<span class="comment">// path -> script p{i,e}<path> -> script</span>
<span class="comment">// script -> path s<script> -> {i,e}<path></span>
<span class="kw">impl</span> <span class="ident">MapKey</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">as_prefix</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="ident">st</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">MapKey::Path</span>((<span class="ident">st</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="string">b"p"</span>.<span class="ident">to_vec</span>();
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">st</span>) <span class="op">=</span> <span class="ident">st</span> {
<span class="ident">v</span>.<span class="ident">push</span>(<span class="ident">st</span>.<span class="ident">as_byte</span>());
}
<span class="ident">v</span>
}
- <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"s"</span>.<span class="ident">to_vec</span>(),
- <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"u"</span>.<span class="ident">to_vec</span>(),
- <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"r"</span>.<span class="ident">to_vec</span>(),
- <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"t"</span>.<span class="ident">to_vec</span>(),
- <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">st</span>) <span class="op">=</span><span class="op">></span> [<span class="string">b"c"</span>, <span class="ident">st</span>.<span class="ident">as_ref</span>()].<span class="ident">concat</span>(),
- <span class="ident">MapKey</span>::<span class="ident">DescriptorChecksum</span>(<span class="ident">st</span>) <span class="op">=</span><span class="op">></span> [<span class="string">b"d"</span>, <span class="ident">st</span>.<span class="ident">as_ref</span>()].<span class="ident">concat</span>(),
+ <span class="ident">MapKey::Script</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"s"</span>.<span class="ident">to_vec</span>(),
+ <span class="ident">MapKey::Utxo</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"u"</span>.<span class="ident">to_vec</span>(),
+ <span class="ident">MapKey::RawTx</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"r"</span>.<span class="ident">to_vec</span>(),
+ <span class="ident">MapKey::Transaction</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="string">b"t"</span>.<span class="ident">to_vec</span>(),
+ <span class="ident">MapKey::LastIndex</span>(<span class="ident">st</span>) <span class="op">=</span><span class="op">></span> [<span class="string">b"c"</span>, <span class="ident">st</span>.<span class="ident">as_ref</span>()].<span class="ident">concat</span>(),
+ <span class="ident">MapKey::DescriptorChecksum</span>(<span class="ident">st</span>) <span class="op">=</span><span class="op">></span> [<span class="string">b"d"</span>, <span class="ident">st</span>.<span class="ident">as_ref</span>()].<span class="ident">concat</span>(),
}
}
<span class="kw">fn</span> <span class="ident">serialize_content</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="kw">_</span>, <span class="prelude-val">Some</span>(<span class="ident">child</span>))) <span class="op">=</span><span class="op">></span> <span class="ident">child</span>.<span class="ident">to_be_bytes</span>().<span class="ident">to_vec</span>(),
- <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
- <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
- <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
- <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="ident">MapKey::Path</span>((<span class="kw">_</span>, <span class="prelude-val">Some</span>(<span class="ident">child</span>))) <span class="op">=</span><span class="op">></span> <span class="ident">child</span>.<span class="ident">to_be_bytes</span>().<span class="ident">to_vec</span>(),
+ <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
+ <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
+ <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
+ <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">s</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">serialize</span>(<span class="kw-2">*</span><span class="ident">s</span>),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[],
}
}
<span class="doccomment">/// [`database`]: crate::database</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Default</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">MemoryDatabase</span> {
- <span class="ident">map</span>: <span class="ident">BTreeMap</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">std</span>::<span class="ident">any</span>::<span class="ident">Any</span><span class="op">></span><span class="op">></span>,
+ <span class="ident">map</span>: <span class="ident">BTreeMap</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">std::any::Any</span><span class="op">></span><span class="op">></span>,
<span class="ident">deleted_keys</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="op">></span>,
}
<span class="doccomment">/// Create a new empty database</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">MemoryDatabase</span> {
- <span class="ident">map</span>: <span class="ident">BTreeMap</span>::<span class="ident">new</span>(),
- <span class="ident">deleted_keys</span>: <span class="ident">Vec</span>::<span class="ident">new</span>(),
+ <span class="ident">map</span>: <span class="ident">BTreeMap::new</span>(),
+ <span class="ident">deleted_keys</span>: <span class="ident">Vec::new</span>(),
}
}
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">path</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">script</span>.<span class="ident">clone</span>()));
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">script</span>.<span class="ident">clone</span>()));
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
- <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json!</span>({
<span class="string">"t"</span>: <span class="ident">keychain</span>,
<span class="string">"p"</span>: <span class="ident">path</span>,
});
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">value</span>));
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">value</span>));
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">utxo</span>: <span class="kw-2">&</span><span class="ident">LocalUtxo</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">map</span>
- .<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>((<span class="ident">utxo</span>.<span class="ident">txout</span>.<span class="ident">clone</span>(), <span class="ident">utxo</span>.<span class="ident">keychain</span>)));
+ .<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>((<span class="ident">utxo</span>.<span class="ident">txout</span>.<span class="ident">clone</span>(), <span class="ident">utxo</span>.<span class="ident">keychain</span>)));
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>())).<span class="ident">as_map_key</span>();
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">transaction</span>.<span class="ident">clone</span>()));
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>())).<span class="ident">as_map_key</span>();
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">transaction</span>.<span class="ident">clone</span>()));
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">transaction</span>: <span class="kw-2">&</span><span class="ident">TransactionDetails</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">transaction</span>.<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="comment">// insert the raw_tx if present</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="kw-2">ref</span> <span class="ident">tx</span>) <span class="op">=</span> <span class="ident">transaction</span>.<span class="ident">transaction</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">transaction</span> <span class="op">=</span> <span class="ident">transaction</span>.<span class="ident">clone</span>();
<span class="ident">transaction</span>.<span class="ident">transaction</span> <span class="op">=</span> <span class="prelude-val">None</span>;
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">transaction</span>));
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">transaction</span>));
<span class="prelude-val">Ok</span>(())
}
<span class="kw">fn</span> <span class="ident">set_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>, <span class="ident">value</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">value</span>));
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">value</span>));
<span class="prelude-val">Ok</span>(())
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">path</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
<span class="kw">match</span> <span class="ident">res</span> {
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
<span class="prelude-val">Some</span>(<span class="ident">b</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>())<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>((<span class="ident">st</span>, <span class="ident">path</span>)))
}
}
}
<span class="kw">fn</span> <span class="ident">del_utxo</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
}
}
<span class="kw">fn</span> <span class="ident">del_raw_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
<span class="prelude-val">None</span>
};
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
}
}
<span class="kw">fn</span> <span class="ident">del_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
<span class="self">self</span>.<span class="ident">deleted_keys</span>.<span class="ident">push</span>(<span class="ident">key</span>);
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">bytes</span>: <span class="ident">B</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">DescriptorChecksum</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::DescriptorChecksum</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">prev</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">map</span>
<span class="kw">if</span> <span class="ident">val</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">bytes</span>.<span class="ident">as_ref</span>().<span class="ident">to_vec</span>() {
<span class="prelude-val">Ok</span>(())
} <span class="kw">else</span> {
- <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">ChecksumMismatch</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">Error::ChecksumMismatch</span>)
}
} <span class="kw">else</span> {
- <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">bytes</span>.<span class="ident">as_ref</span>().<span class="ident">to_vec</span>()));
+ <span class="self">self</span>.<span class="ident">map</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">Box::new</span>(<span class="ident">bytes</span>.<span class="ident">as_ref</span>().<span class="ident">to_vec</span>()));
<span class="prelude-val">Ok</span>(())
}
}
<span class="kw">fn</span> <span class="ident">iter_script_pubkeys</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">KeychainKind</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="ident">keychain</span>, <span class="prelude-val">None</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="ident">keychain</span>, <span class="prelude-val">None</span>)).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">map</span>
.<span class="ident">range</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span>((<span class="ident">Included</span>(<span class="kw-2">&</span><span class="ident">key</span>), <span class="ident">Excluded</span>(<span class="kw-2">&</span><span class="ident">after</span>(<span class="kw-2">&</span><span class="ident">key</span>))))
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>(<span class="ident">v</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>()))
}
<span class="kw">fn</span> <span class="ident">iter_utxos</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">map</span>
.<span class="ident">range</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span>((<span class="ident">Included</span>(<span class="kw-2">&</span><span class="ident">key</span>), <span class="ident">Excluded</span>(<span class="kw-2">&</span><span class="ident">after</span>(<span class="kw-2">&</span><span class="ident">key</span>))))
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="op">|</span> {
}
<span class="kw">fn</span> <span class="ident">iter_raw_txs</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">map</span>
.<span class="ident">range</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span>((<span class="ident">Included</span>(<span class="kw-2">&</span><span class="ident">key</span>), <span class="ident">Excluded</span>(<span class="kw-2">&</span><span class="ident">after</span>(<span class="kw-2">&</span><span class="ident">key</span>))))
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>(<span class="ident">v</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>()))
}
<span class="kw">fn</span> <span class="ident">iter_txs</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">None</span>).<span class="ident">as_map_key</span>();
<span class="self">self</span>.<span class="ident">map</span>
.<span class="ident">range</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">u8</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span>((<span class="ident">Included</span>(<span class="kw-2">&</span><span class="ident">key</span>), <span class="ident">Excluded</span>(<span class="kw-2">&</span><span class="ident">after</span>(<span class="kw-2">&</span><span class="ident">key</span>))))
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="ident">v</span>)<span class="op">|</span> {
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">path</span>: <span class="ident">u32</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Path</span>((<span class="prelude-val">Some</span>(<span class="ident">keychain</span>), <span class="prelude-val">Some</span>(<span class="ident">path</span>))).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>
.<span class="ident">map</span>
.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>)
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span>(<span class="ident">KeychainKind</span>, <span class="ident">u32</span>)<span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Script</span>(<span class="prelude-val">Some</span>(<span class="ident">script</span>)).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json</span>::<span class="ident">Value</span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>()).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">val</span>: <span class="ident">serde_json::Value</span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">st</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"t"</span>].<span class="ident">take</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">serde_json::from_value</span>(<span class="ident">val</span>[<span class="string">"p"</span>].<span class="ident">take</span>()).<span class="ident">unwrap</span>();
(<span class="ident">st</span>, <span class="ident">path</span>)
}))
}
<span class="kw">fn</span> <span class="ident">get_utxo</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">outpoint</span>: <span class="kw-2">&</span><span class="ident">OutPoint</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Utxo</span>(<span class="prelude-val">Some</span>(<span class="ident">outpoint</span>)).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> {
<span class="kw">let</span> (<span class="ident">txout</span>, <span class="ident">keychain</span>) <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
<span class="ident">LocalUtxo</span> {
}
<span class="kw">fn</span> <span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Transaction</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::RawTx</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>
.<span class="ident">map</span>
.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>)
}
<span class="kw">fn</span> <span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">txid</span>: <span class="kw-2">&</span><span class="ident">Txid</span>, <span class="ident">include_raw</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TransactionDetails</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::Transaction</span>(<span class="prelude-val">Some</span>(<span class="ident">txid</span>)).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">txdetails</span>: <span class="ident">TransactionDetails</span> <span class="op">=</span> <span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">cloned</span>().<span class="ident">unwrap</span>();
<span class="kw">if</span> <span class="ident">include_raw</span> {
}
<span class="kw">fn</span> <span class="ident">get_last_index</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">b</span><span class="op">|</span> <span class="kw-2">*</span><span class="ident">b</span>.<span class="ident">downcast_ref</span>().<span class="ident">unwrap</span>()))
}
<span class="comment">// inserts 0 if not present</span>
<span class="kw">fn</span> <span class="ident">increment_last_index</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey</span>::<span class="ident">LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">MapKey::LastIndex</span>(<span class="ident">keychain</span>).<span class="ident">as_map_key</span>();
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">map</span>
.<span class="ident">entry</span>(<span class="ident">key</span>)
.<span class="ident">and_modify</span>(<span class="op">|</span><span class="ident">x</span><span class="op">|</span> <span class="kw-2">*</span><span class="ident">x</span>.<span class="ident">downcast_mut</span>::<span class="op"><</span><span class="ident">u32</span><span class="op">></span>().<span class="ident">unwrap</span>() <span class="op">+</span><span class="op">=</span> <span class="number">1</span>)
- .<span class="ident">or_insert_with</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">Box</span>::<span class="op"><</span><span class="ident">u32</span><span class="op">></span>::<span class="ident">new</span>(<span class="number">0</span>))
+ .<span class="ident">or_insert_with</span>(<span class="op">|</span><span class="op">|</span> <span class="ident">Box</span>::<span class="op"><</span><span class="ident">u32</span><span class="op">></span><span class="ident">::new</span>(<span class="number">0</span>))
.<span class="ident">downcast_mut</span>()
.<span class="ident">unwrap</span>();
<span class="kw">impl</span> <span class="ident">BatchDatabase</span> <span class="kw">for</span> <span class="ident">MemoryDatabase</span> {
<span class="kw">type</span> <span class="ident">Batch</span> <span class="op">=</span> <span class="self">Self</span>;
- <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Batch</span> {
- <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>()
+ <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span><span class="ident">::Batch</span> {
+ <span class="ident">MemoryDatabase::new</span>()
}
- <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">batch</span>: <span class="self">Self</span>::<span class="ident">Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">batch</span>: <span class="self">Self</span><span class="ident">::Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="kw">for</span> <span class="ident">key</span> <span class="kw">in</span> <span class="ident">batch</span>.<span class="ident">deleted_keys</span> {
<span class="self">self</span>.<span class="ident">map</span>.<span class="ident">remove</span>(<span class="kw-2">&</span><span class="ident">key</span>);
}
<span class="kw">impl</span> <span class="ident">ConfigurableDatabase</span> <span class="kw">for</span> <span class="ident">MemoryDatabase</span> {
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> ();
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">_config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">MemoryDatabase</span>::<span class="ident">default</span>())
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">_config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
+ <span class="prelude-val">Ok</span>(<span class="ident">MemoryDatabase::default</span>())
}
}
<span class="doccomment">/// Artificially insert a tx in the database, as if we had found it with a `sync`. This is a hidden</span>
<span class="doccomment">/// macro and not a `[cfg(test)]` function so it can be called within the context of doctests which</span>
<span class="doccomment">/// don't have `test` set.</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">populate_test_db</span> {
+<span class="macro">macro_rules!</span> <span class="ident">populate_test_db</span> {
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">db</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tx_meta</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">current_height</span>:<span class="ident">expr</span>$(,)<span class="question-mark">?</span>) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">database</span>::<span class="ident">BatchOperations</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::database::BatchOperations</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">db</span>;
<span class="kw">let</span> <span class="ident">tx_meta</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tx_meta</span>;
<span class="kw">let</span> <span class="ident">current_height</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">current_height</span>;
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">Transaction</span> {
<span class="ident">version</span>: <span class="number">1</span>,
<span class="ident">lock_time</span>: <span class="number">0</span>,
- <span class="ident">input</span>: <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="ident">input</span>: <span class="macro">vec!</span>[],
<span class="ident">output</span>: <span class="ident">tx_meta</span>
.<span class="ident">output</span>
.<span class="ident">iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">out_meta</span><span class="op">|</span> <span class="ident">bitcoin</span>::<span class="ident">TxOut</span> {
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">out_meta</span><span class="op">|</span> <span class="ident">bitcoin::TxOut</span> {
<span class="ident">value</span>: <span class="ident">out_meta</span>.<span class="ident">value</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">bitcoin</span>::<span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="kw-2">&</span><span class="ident">out_meta</span>.<span class="ident">to_address</span>)
+ <span class="ident">script_pubkey</span>: <span class="ident">bitcoin::Address::from_str</span>(<span class="kw-2">&</span><span class="ident">out_meta</span>.<span class="ident">to_address</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">script_pubkey</span>(),
})
<span class="ident">txid</span>,
<span class="ident">vout</span>: <span class="ident">vout</span> <span class="kw">as</span> <span class="ident">u32</span>,
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
})
.<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="doccomment">/// Macro for getting a wallet for use in a doctest</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">doctest_wallet</span> {
+<span class="macro">macro_rules!</span> <span class="ident">doctest_wallet</span> {
() <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">Network</span>;
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">database</span>::<span class="ident">MemoryDatabase</span>;
- <span class="kw">use</span> <span class="ident">testutils</span>::<span class="ident">testutils</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::Network</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::database::MemoryDatabase</span>;
+ <span class="kw">use</span> <span class="ident">testutils::testutils</span>;
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW)"</span>;
- <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>) (<span class="ident">descriptor</span>));
+ <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>) (<span class="ident">descriptor</span>));
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="macro">populate_test_db!</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">db</span>,
- <span class="macro">testutils</span><span class="macro">!</span> {
+ <span class="macro">testutils!</span> {
@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">500_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)
},
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::Wallet::new_offline</span>(
<span class="kw-2">&</span><span class="ident">descriptors</span>.<span class="number">0</span>,
<span class="ident">descriptors</span>.<span class="number">1</span>.<span class="ident">as_ref</span>(),
- <span class="ident">Network</span>::<span class="ident">Regtest</span>,
+ <span class="ident">Network::Regtest</span>,
<span class="ident">db</span>
)
.<span class="ident">unwrap</span>()
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="kw">super</span>::<span class="ident">MemoryDatabase</span>;
+ <span class="kw">use</span> <span class="kw">super</span><span class="ident">::MemoryDatabase</span>;
<span class="kw">fn</span> <span class="ident">get_tree</span>() <span class="op">-</span><span class="op">></span> <span class="ident">MemoryDatabase</span> {
- <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>()
+ <span class="ident">MemoryDatabase::new</span>()
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_batch_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_batch_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_batch_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_iter_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_iter_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_iter_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_del_script_pubkey</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_del_script_pubkey</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_del_script_pubkey</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_utxo</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_utxo</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_utxo</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_raw_tx</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_raw_tx</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_raw_tx</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_tx</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_tx</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_tx</span>(<span class="ident">get_tree</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_last_index</span>() {
- <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">test</span>::<span class="ident">test_last_index</span>(<span class="ident">get_tree</span>());
+ <span class="kw">crate</span><span class="ident">::database::test::test_last_index</span>(<span class="ident">get_tree</span>());
}
}
</pre></div>
<!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="Source of the Rust file `src/database/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//!</span>
<span class="doccomment">//! [`Wallet`]: crate::wallet::Wallet</span>
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hash_types</span>::<span class="ident">Txid</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hash_types::Txid</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">Transaction</span>, <span class="ident">TxOut</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::<span class="kw-2">*</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">any</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">any</span>::{<span class="ident">AnyDatabase</span>, <span class="ident">AnyDatabaseConfig</span>};
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod</span> <span class="ident">keyvalue</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">memory</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">memory::MemoryDatabase</span>;
<span class="doccomment">/// Trait for operations that can be batched</span>
<span class="doccomment">///</span>
<span class="kw">type</span> <span class="ident">Batch</span>: <span class="ident">BatchOperations</span>;
<span class="doccomment">/// Create a new batch container</span>
- <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Batch</span>;
+ <span class="kw">fn</span> <span class="ident">begin_batch</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span><span class="ident">::Batch</span>;
<span class="doccomment">/// Consume and apply a batch of operations</span>
- <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span>::<span class="ident">Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span>;
+ <span class="kw">fn</span> <span class="ident">commit_batch</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">batch</span>: <span class="self">Self</span><span class="ident">::Batch</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span>;
}
<span class="doccomment">/// Trait for [`Database`] types that can be created given a configuration</span>
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">ConfigurableDatabase</span>: <span class="ident">Database</span> <span class="op">+</span> <span class="ident">Sized</span> {
<span class="doccomment">/// Type that contains the configuration</span>
- <span class="kw">type</span> <span class="ident">Config</span>: <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Debug</span>;
+ <span class="kw">type</span> <span class="ident">Config</span>: <span class="ident">std::fmt::Debug</span>;
<span class="doccomment">/// Create a new instance given a configuration</span>
- <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span>;
+ <span class="kw">fn</span> <span class="ident">from_config</span>(<span class="ident">config</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Config</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span>;
}
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait</span> <span class="ident">DatabaseUtils</span>: <span class="ident">Database</span> {
<span class="self">self</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">outpoint</span>.<span class="ident">txid</span>)<span class="question-mark">?</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">previous_tx</span><span class="op">|</span> {
<span class="kw">if</span> <span class="ident">outpoint</span>.<span class="ident">vout</span> <span class="kw">as</span> <span class="ident">usize</span> <span class="op">></span><span class="op">=</span> <span class="ident">previous_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>() {
- <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InvalidOutpoint</span>(<span class="kw-2">*</span><span class="ident">outpoint</span>))
+ <span class="prelude-val">Err</span>(<span class="ident">Error::InvalidOutpoint</span>(<span class="kw-2">*</span><span class="ident">outpoint</span>))
} <span class="kw">else</span> {
<span class="prelude-val">Ok</span>(<span class="ident">previous_tx</span>.<span class="ident">output</span>[<span class="ident">outpoint</span>.<span class="ident">vout</span> <span class="kw">as</span> <span class="ident">usize</span>].<span class="ident">clone</span>())
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">deserialize</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="kw-2">*</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::consensus::encode::deserialize</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex</span>::<span class="kw-2">*</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="kw-2">*</span>;
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_script_pubkey</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
);
<span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="number">42</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind::External</span>;
<span class="ident">tree</span>.<span class="ident">set_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="ident">script</span>.<span class="ident">clone</span>())
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>((<span class="ident">keychain</span>, <span class="ident">path</span>))
);
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_batch_script_pubkey</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">BatchDatabase</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">batch</span> <span class="op">=</span> <span class="ident">tree</span>.<span class="ident">begin_batch</span>();
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
);
<span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="number">42</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind::External</span>;
<span class="ident">batch</span>.<span class="ident">set_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">None</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">None</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">None</span>);
<span class="ident">tree</span>.<span class="ident">commit_batch</span>(<span class="ident">batch</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="ident">script</span>.<span class="ident">clone</span>())
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>((<span class="ident">keychain</span>, <span class="ident">path</span>))
);
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_iter_script_pubkey</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
);
<span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="number">42</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind::External</span>;
<span class="ident">tree</span>.<span class="ident">set_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">1</span>);
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_del_script_pubkey</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
);
<span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="number">42</span>;
- <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>;
+ <span class="kw">let</span> <span class="ident">keychain</span> <span class="op">=</span> <span class="ident">KeychainKind::External</span>;
<span class="ident">tree</span>.<span class="ident">set_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">script</span>, <span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">1</span>);
<span class="ident">tree</span>.<span class="ident">del_script_pubkey_from_path</span>(<span class="ident">keychain</span>, <span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">0</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">iter_script_pubkeys</span>(<span class="prelude-val">None</span>).<span class="ident">unwrap</span>().<span class="ident">len</span>(), <span class="number">0</span>);
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_utxo</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">OutPoint::from_str</span>(
<span class="string">"5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456:0"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"76a91402306a7c23f3e8010de41e9e591348bb83f11daa88ac"</span>).<span class="ident">unwrap</span>(),
);
<span class="kw">let</span> <span class="ident">txout</span> <span class="op">=</span> <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="number">133742</span>,
<span class="kw">let</span> <span class="ident">utxo</span> <span class="op">=</span> <span class="ident">LocalUtxo</span> {
<span class="ident">txout</span>,
<span class="ident">outpoint</span>,
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
};
<span class="ident">tree</span>.<span class="ident">set_utxo</span>(<span class="kw-2">&</span><span class="ident">utxo</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">get_utxo</span>(<span class="kw-2">&</span><span class="ident">outpoint</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">Some</span>(<span class="ident">utxo</span>));
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">get_utxo</span>(<span class="kw-2">&</span><span class="ident">outpoint</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">Some</span>(<span class="ident">utxo</span>));
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_raw_tx</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">hex_tx</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">hex_tx</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">tx</span>: <span class="ident">Transaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">hex_tx</span>).<span class="ident">unwrap</span>();
<span class="ident">tree</span>.<span class="ident">set_raw_tx</span>(<span class="kw-2">&</span><span class="ident">tx</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="ident">tx</span>.<span class="ident">txid</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">txid</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">Some</span>(<span class="ident">tx</span>));
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">txid</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">Some</span>(<span class="ident">tx</span>));
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_tx</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="kw">let</span> <span class="ident">hex_tx</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">hex_tx</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"0100000001a15d57094aa7a21a28cb20b59aab8fc7d1149a3bdbcddba9c622e4f5f6a99ece010000006c493046022100f93bb0e7d8db7bd46e40132d1f8242026e045f03a0efe71bbb8e3f475e970d790221009337cd7f1f929f00cc6ff01f03729b069a7c21b59b1736ddfee5db5946c5da8c0121033b9b137ee87d5a812d6f506efdd37f0affa7ffc310711c06c7f3e097c9447c52ffffffff0100e1f505000000001976a9140389035a9225b3839e2bbf32d826a1e222031fd888ac00000000"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">tx</span>: <span class="ident">Transaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">hex_tx</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="ident">tx</span>.<span class="ident">txid</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx_details</span> <span class="op">=</span> <span class="ident">TransactionDetails</span> {
<span class="ident">tree</span>.<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">tx_details</span>).<span class="ident">unwrap</span>();
<span class="comment">// get with raw tx too</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">tx_details</span>.<span class="ident">txid</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="ident">tx_details</span>.<span class="ident">clone</span>())
);
<span class="comment">// get only raw_tx</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_raw_tx</span>(<span class="kw-2">&</span><span class="ident">tx_details</span>.<span class="ident">txid</span>).<span class="ident">unwrap</span>(),
<span class="ident">tx_details</span>.<span class="ident">transaction</span>
);
<span class="comment">// now get without raw_tx</span>
<span class="ident">tx_details</span>.<span class="ident">transaction</span> <span class="op">=</span> <span class="prelude-val">None</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tree</span>.<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">tx_details</span>.<span class="ident">txid</span>, <span class="bool-val">false</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="ident">tx_details</span>)
);
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_last_index</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>(<span class="kw-2">mut</span> <span class="ident">tree</span>: <span class="ident">D</span>) {
- <span class="ident">tree</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="number">1337</span>).<span class="ident">unwrap</span>();
+ <span class="ident">tree</span>.<span class="ident">set_last_index</span>(<span class="ident">KeychainKind::External</span>, <span class="number">1337</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
- <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">unwrap</span>(),
+ <span class="macro">assert_eq!</span>(
+ <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::External</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="number">1337</span>)
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">None</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::Internal</span>).<span class="ident">unwrap</span>(), <span class="prelude-val">None</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">tree</span>.<span class="ident">increment_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">res</span>, <span class="number">1338</span>);
- <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">tree</span>.<span class="ident">increment_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">res</span>, <span class="number">0</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">tree</span>.<span class="ident">increment_last_index</span>(<span class="ident">KeychainKind::External</span>).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">res</span>, <span class="number">1338</span>);
+ <span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">tree</span>.<span class="ident">increment_last_index</span>(<span class="ident">KeychainKind::Internal</span>).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">res</span>, <span class="number">0</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
- <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">unwrap</span>(),
+ <span class="macro">assert_eq!</span>(
+ <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::External</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="number">1338</span>)
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
- <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">unwrap</span>(),
+ <span class="macro">assert_eq!</span>(
+ <span class="ident">tree</span>.<span class="ident">get_last_index</span>(<span class="ident">KeychainKind::Internal</span>).<span class="ident">unwrap</span>(),
<span class="prelude-val">Some</span>(<span class="number">0</span>)
);
}
<!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="Source of the Rust file `src/descriptor/checksum.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>checksum.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! This module contains a re-implementation of the function used by Bitcoin Core to calculate the</span>
<span class="doccomment">//! checksum of a descriptor</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">iter</span>::<span class="ident">FromIterator</span>;
+<span class="kw">use</span> <span class="ident">std::iter::FromIterator</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">DescriptorError</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::DescriptorError</span>;
<span class="kw">const</span> <span class="ident">INPUT_CHARSET</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"0123456789()[],'/*abcdefgh@:$%{}IJKLMNOPQRSTUVWXYZ&+-.;<=>?!^_|~ijklmnopqrstuvwxyzABCDEFGH`#\"\\ "</span>;
<span class="kw">const</span> <span class="ident">CHECKSUM_CHARSET</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"qpzry9x8gf2tvdw0s3jn54khce6mua7l"</span>;
<span class="kw">for</span> <span class="ident">ch</span> <span class="kw">in</span> <span class="ident">desc</span>.<span class="ident">chars</span>() {
<span class="kw">let</span> <span class="ident">pos</span> <span class="op">=</span> <span class="ident">INPUT_CHARSET</span>
.<span class="ident">find</span>(<span class="ident">ch</span>)
- .<span class="ident">ok_or</span>(<span class="ident">DescriptorError</span>::<span class="ident">InvalidDescriptorCharacter</span>(<span class="ident">ch</span>))<span class="question-mark">?</span> <span class="kw">as</span> <span class="ident">u64</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">DescriptorError::InvalidDescriptorCharacter</span>(<span class="ident">ch</span>))<span class="question-mark">?</span> <span class="kw">as</span> <span class="ident">u64</span>;
<span class="ident">c</span> <span class="op">=</span> <span class="ident">poly_mod</span>(<span class="ident">c</span>, <span class="ident">pos</span> <span class="op">&</span> <span class="number">31</span>);
<span class="ident">cls</span> <span class="op">=</span> <span class="ident">cls</span> <span class="op">*</span> <span class="number">3</span> <span class="op">+</span> (<span class="ident">pos</span> <span class="op">></span><span class="op">></span> <span class="number">5</span>);
<span class="ident">clscount</span> <span class="op">+</span><span class="op">=</span> <span class="number">1</span>;
(<span class="number">0</span>..<span class="number">8</span>).<span class="ident">for_each</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">c</span> <span class="op">=</span> <span class="ident">poly_mod</span>(<span class="ident">c</span>, <span class="number">0</span>));
<span class="ident">c</span> <span class="op">^</span><span class="op">=</span> <span class="number">1</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">chars</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="number">8</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">chars</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="number">8</span>);
<span class="kw">for</span> <span class="ident">j</span> <span class="kw">in</span> <span class="number">0</span>..<span class="number">8</span> {
<span class="ident">chars</span>.<span class="ident">push</span>(
<span class="ident">CHECKSUM_CHARSET</span>
);
}
- <span class="prelude-val">Ok</span>(<span class="ident">String</span>::<span class="ident">from_iter</span>(<span class="ident">chars</span>))
+ <span class="prelude-val">Ok</span>(<span class="ident">String::from_iter</span>(<span class="ident">chars</span>))
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">get_checksum</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::get_checksum</span>;
<span class="comment">// test get_checksum() function; it should return the same value as Bitcoin Core</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_get_checksum</span>() {
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">get_checksum</span>(<span class="ident">desc</span>).<span class="ident">unwrap</span>(), <span class="string">"tqz0nc62"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">get_checksum</span>(<span class="ident">desc</span>).<span class="ident">unwrap</span>(), <span class="string">"tqz0nc62"</span>);
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"pkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/44'/1'/0'/0/*)"</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">get_checksum</span>(<span class="ident">desc</span>).<span class="ident">unwrap</span>(), <span class="string">"lasegmfs"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">get_checksum</span>(<span class="ident">desc</span>).<span class="ident">unwrap</span>(), <span class="string">"lasegmfs"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_get_checksum_invalid_character</span>() {
- <span class="kw">let</span> <span class="ident">sparkle_heart</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">240</span>, <span class="number">159</span>, <span class="number">146</span>, <span class="number">150</span>];
- <span class="kw">let</span> <span class="ident">sparkle_heart</span> <span class="op">=</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">from_utf8</span>(<span class="kw-2">&</span><span class="ident">sparkle_heart</span>)
+ <span class="kw">let</span> <span class="ident">sparkle_heart</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="number">240</span>, <span class="number">159</span>, <span class="number">146</span>, <span class="number">150</span>];
+ <span class="kw">let</span> <span class="ident">sparkle_heart</span> <span class="op">=</span> <span class="ident">std::str::from_utf8</span>(<span class="kw-2">&</span><span class="ident">sparkle_heart</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">chars</span>()
.<span class="ident">next</span>()
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">invalid_desc</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(<span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcL{}fjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>, <span class="ident">sparkle_heart</span>);
+ <span class="kw">let</span> <span class="ident">invalid_desc</span> <span class="op">=</span> <span class="macro">format!</span>(<span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcL{}fjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>, <span class="ident">sparkle_heart</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">get_checksum</span>(<span class="kw-2">&</span><span class="ident">invalid_desc</span>).<span class="ident">err</span>(),
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorError</span>::<span class="ident">InvalidDescriptorCharacter</span>(<span class="ident">invalid_char</span>)) <span class="kw">if</span> <span class="ident">invalid_char</span> <span class="op">=</span><span class="op">=</span> <span class="ident">sparkle_heart</span>
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorError::InvalidDescriptorCharacter</span>(<span class="ident">invalid_char</span>)) <span class="kw">if</span> <span class="ident">invalid_char</span> <span class="op">=</span><span class="op">=</span> <span class="ident">sparkle_heart</span>
));
}
}
<!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="Source of the Rust file `src/descriptor/derived.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>derived.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! Derived descriptor keys</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cmp</span>::<span class="ident">Ordering</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">hash</span>::{<span class="ident">Hash</span>, <span class="ident">Hasher</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Deref</span>;
+<span class="kw">use</span> <span class="ident">std::cmp::Ordering</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
+<span class="kw">use</span> <span class="ident">std::hash</span>::{<span class="ident">Hash</span>, <span class="ident">Hasher</span>};
+<span class="kw">use</span> <span class="ident">std::ops::Deref</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hash160</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hashes::hash160</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::PublicKey</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript</span>::{
- <span class="ident">descriptor</span>::<span class="ident">KeyMap</span>, <span class="ident">descriptor</span>::<span class="ident">Wildcard</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">Legacy</span>, <span class="ident">Miniscript</span>,
+ <span class="ident">descriptor::KeyMap</span>, <span class="ident">descriptor::Wildcard</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">Legacy</span>, <span class="ident">Miniscript</span>,
<span class="ident">ScriptContext</span>, <span class="ident">Segwitv0</span>,
};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">MiniscriptKey</span>, <span class="ident">ToPublicKey</span>, <span class="ident">TranslatePk</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">SecpCtx</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::SecpCtx</span>;
<span class="doccomment">/// Extended [`DescriptorPublicKey`] that has been derived</span>
<span class="doccomment">///</span>
<span class="doccomment">///</span>
<span class="doccomment">/// Panics if the key is wildcard</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">key</span>: <span class="ident">DescriptorPublicKey</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="ident">key</span> {
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="prelude-val">None</span>)
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="ident">key</span> {
+ <span class="macro">assert!</span>(<span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard::None</span>)
}
<span class="ident">DerivedDescriptorKey</span>(<span class="ident">key</span>, <span class="ident">secp</span>)
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">Deref</span> <span class="kw">for</span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
<span class="kw">type</span> <span class="ident">Target</span> <span class="op">=</span> <span class="ident">DescriptorPublicKey</span>;
- <span class="kw">fn</span> <span class="ident">deref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Target</span> {
+ <span class="kw">fn</span> <span class="ident">deref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Target</span> {
<span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span>
}
}
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
+<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
<span class="self">self</span>.<span class="number">0</span>.<span class="ident">fmt</span>(<span class="ident">f</span>)
}
}
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">MiniscriptKey</span> <span class="kw">for</span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
<span class="kw">type</span> <span class="ident">Hash</span> <span class="op">=</span> <span class="self">Self</span>;
- <span class="kw">fn</span> <span class="ident">to_pubkeyhash</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">Hash</span> {
+ <span class="kw">fn</span> <span class="ident">to_pubkeyhash</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span><span class="ident">::Hash</span> {
<span class="ident">DerivedDescriptorKey</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">to_pubkeyhash</span>(), <span class="self">self</span>.<span class="number">1</span>)
}
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">ToPublicKey</span> <span class="kw">for</span> <span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">to_public_key</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">PublicKey</span> {
<span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="number">0</span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="kw-2">ref</span> <span class="ident">spub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">spub</span>.<span class="ident">key</span>.<span class="ident">to_public_key</span>(),
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="kw-2">ref</span> <span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="kw-2">ref</span> <span class="ident">spub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">spub</span>.<span class="ident">key</span>.<span class="ident">to_public_key</span>(),
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="kw-2">ref</span> <span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> {
<span class="ident">xpub</span>.<span class="ident">xkey</span>
.<span class="ident">derive_pub</span>(<span class="self">self</span>.<span class="number">1</span>, <span class="kw-2">&</span><span class="ident">xpub</span>.<span class="ident">derivation_path</span>)
.<span class="ident">expect</span>(<span class="string">"Shouldn't fail, only normal derivations"</span>)
}
}
- <span class="kw">fn</span> <span class="ident">hash_to_hash160</span>(<span class="ident">hash</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Hash</span>) <span class="op">-</span><span class="op">></span> <span class="ident">hash160</span>::<span class="ident">Hash</span> {
+ <span class="kw">fn</span> <span class="ident">hash_to_hash160</span>(<span class="ident">hash</span>: <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Hash</span>) <span class="op">-</span><span class="op">></span> <span class="ident">hash160::Hash</span> {
<span class="ident">hash</span>.<span class="ident">to_public_key</span>().<span class="ident">to_pubkeyhash</span>()
}
}
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="ident">Descriptor</span><span class="op"><</span><span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span><span class="op">></span> {
<span class="self">self</span>.<span class="ident">derive</span>(<span class="ident">index</span>).<span class="ident">translate_pk_infallible</span>(
- <span class="op">|</span><span class="ident">key</span><span class="op">|</span> <span class="ident">DerivedDescriptorKey</span>::<span class="ident">new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>),
- <span class="op">|</span><span class="ident">key</span><span class="op">|</span> <span class="ident">DerivedDescriptorKey</span>::<span class="ident">new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>),
+ <span class="op">|</span><span class="ident">key</span><span class="op">|</span> <span class="ident">DerivedDescriptorKey::new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>),
+ <span class="op">|</span><span class="ident">key</span><span class="op">|</span> <span class="ident">DerivedDescriptorKey::new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>),
)
}
<span class="kw">fn</span> <span class="ident">as_derived_fixed</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Descriptor</span><span class="op"><</span><span class="ident">DerivedDescriptorKey</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span><span class="op">></span> {
- <span class="macro">assert</span><span class="macro">!</span>(<span class="op">!</span><span class="self">self</span>.<span class="ident">is_deriveable</span>());
+ <span class="macro">assert!</span>(<span class="op">!</span><span class="self">self</span>.<span class="ident">is_deriveable</span>());
<span class="self">self</span>.<span class="ident">as_derived</span>(<span class="number">0</span>, <span class="ident">secp</span>)
}
<!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="Source of the Rust file `src/descriptor/dsl.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>dsl.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_top_level_sh</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_top_level_sh</span> {
<span class="comment">// disallow `sortedmulti` in `bare()`</span>
( <span class="ident">Bare</span>, <span class="ident">new</span>, <span class="ident">new</span>, <span class="ident">Legacy</span>, <span class="ident">sortedmulti</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
- <span class="macro">compile_error</span><span class="macro">!</span>(<span class="string">"`bare()` descriptors can't contain any `sortedmulti()` operands"</span>);
+ <span class="macro">compile_error!</span>(<span class="string">"`bare()` descriptors can't contain any `sortedmulti()` operands"</span>);
};
( <span class="ident">Bare</span>, <span class="ident">new</span>, <span class="ident">new</span>, <span class="ident">Legacy</span>, <span class="ident">sortedmulti_vec</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
- <span class="macro">compile_error</span><span class="macro">!</span>(<span class="string">"`bare()` descriptors can't contain any `sortedmulti_vec()` operands"</span>);
+ <span class="macro">compile_error!</span>(<span class="string">"`bare()` descriptors can't contain any `sortedmulti_vec()` operands"</span>);
};
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sortedmulti_constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>:<span class="ident">ident</span>, <span class="ident">sortedmulti</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
+ <span class="kw">use</span> <span class="ident">std::marker::PhantomData</span>;
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>;
<span class="kw">let</span> <span class="ident">build_desc</span> <span class="op">=</span> <span class="op">|</span><span class="ident">k</span>, <span class="ident">pks</span><span class="op">|</span> {
<span class="prelude-val">Ok</span>((<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">sortedmulti_constructor</span>(<span class="ident">k</span>, <span class="ident">pks</span>)<span class="question-mark">?</span>), <span class="ident">PhantomData</span>::<span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span>))
};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_sortedmulti</span><span class="macro">!</span>(<span class="macro-nonterminal">build_desc</span>, <span class="ident">sortedmulti</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_sortedmulti!</span>(<span class="macro-nonterminal">build_desc</span>, <span class="ident">sortedmulti</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
}};
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sortedmulti_constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>:<span class="ident">ident</span>, <span class="ident">sortedmulti_vec</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
+ <span class="kw">use</span> <span class="ident">std::marker::PhantomData</span>;
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>;
<span class="kw">let</span> <span class="ident">build_desc</span> <span class="op">=</span> <span class="op">|</span><span class="ident">k</span>, <span class="ident">pks</span><span class="op">|</span> {
<span class="prelude-val">Ok</span>((<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">sortedmulti_constructor</span>(<span class="ident">k</span>, <span class="ident">pks</span>)<span class="question-mark">?</span>), <span class="ident">PhantomData</span>::<span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span>))
};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_sortedmulti</span><span class="macro">!</span>(<span class="macro-nonterminal">build_desc</span>, <span class="ident">sortedmulti_vec</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_sortedmulti!</span>(<span class="macro-nonterminal">build_desc</span>, <span class="ident">sortedmulti_vec</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
}};
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">sortedmulti_constructor</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>:<span class="ident">ident</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>, <span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="ident">keymap</span>, <span class="ident">networks</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">constructor</span>(<span class="ident">minisc</span>)<span class="question-mark">?</span>, <span class="ident">keymap</span>, <span class="ident">networks</span>)))
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">inner</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_struct</span>(<span class="ident">inner</span>), <span class="ident">key_map</span>, <span class="ident">valid_networks</span>)))
}};
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_top_level_pk</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_top_level_pk</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_type</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_type</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_type</span>;
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::secp256k1::Secp256k1::new</span>();
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>.<span class="ident">into_descriptor_key</span>()
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span><span class="op">|</span> <span class="ident">key</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>))
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Key</span>)
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">pk</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>)<span class="op">|</span> (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_type</span>::<span class="ident">new</span>(<span class="ident">pk</span>), <span class="ident">key_map</span>, <span class="ident">valid_networks</span>))
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Key</span>)
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">pk</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>)<span class="op">|</span> (<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner_type::new</span>(<span class="ident">pk</span>), <span class="ident">key_map</span>, <span class="ident">valid_networks</span>))
}};
}
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_leaf_opcode</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_leaf_opcode</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>,
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>,
)
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Miniscript</span>)
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Miniscript</span>)
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">minisc</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
(
<span class="ident">minisc</span>,
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">KeyMap</span>::<span class="ident">default</span>(),
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">any_network</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor::KeyMap::default</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::any_network</span>(),
)
})
}};
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_leaf_opcode_value</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_leaf_opcode_value</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>),
)
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Miniscript</span>)
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Miniscript</span>)
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">minisc</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
(
<span class="ident">minisc</span>,
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">KeyMap</span>::<span class="ident">default</span>(),
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">any_network</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor::KeyMap::default</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::any_network</span>(),
)
})
}};
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_leaf_opcode_value_two</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_leaf_opcode_value_two</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">one</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">two</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">one</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">two</span>),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">one</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">two</span>),
)
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Miniscript</span>)
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Miniscript</span>)
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">minisc</span>)
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">minisc</span><span class="op">|</span> {
(
<span class="ident">minisc</span>,
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">KeyMap</span>::<span class="ident">default</span>(),
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">any_network</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor::KeyMap::default</span>(),
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::any_network</span>(),
)
})
}};
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_node_opcode_two</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_node_opcode_two</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
- <span class="kw">let</span> <span class="ident">inner</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
- <span class="kw">let</span> (<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">dsl</span>::<span class="ident">TupleTwo</span>::<span class="ident">from</span>(<span class="ident">inner</span>).<span class="ident">flattened</span>();
+ <span class="kw">let</span> <span class="ident">inner</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
+ <span class="kw">let</span> (<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::dsl::TupleTwo::from</span>(<span class="ident">inner</span>).<span class="ident">flattened</span>();
<span class="ident">a</span>
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">a</span><span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">a</span>, <span class="ident">b</span><span class="question-mark">?</span>)))
<span class="comment">// join key_maps</span>
<span class="ident">a_keymap</span>.<span class="ident">extend</span>(<span class="ident">b_keymap</span>.<span class="ident">into_iter</span>());
- <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">a_minisc</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">b_minisc</span>),
+ <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">a_minisc</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">b_minisc</span>),
))<span class="question-mark">?</span>;
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
- <span class="prelude-val">Ok</span>((<span class="ident">minisc</span>, <span class="ident">a_keymap</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">merge_networks</span>(<span class="kw-2">&</span><span class="ident">a_networks</span>, <span class="kw-2">&</span><span class="ident">b_networks</span>)))
+ <span class="prelude-val">Ok</span>((<span class="ident">minisc</span>, <span class="ident">a_keymap</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::merge_networks</span>(<span class="kw-2">&</span><span class="ident">a_networks</span>, <span class="kw-2">&</span><span class="ident">b_networks</span>)))
})
});
}
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_node_opcode_three</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_node_opcode_three</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> {
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
- <span class="kw">let</span> <span class="ident">inner</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
- <span class="kw">let</span> (<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">dsl</span>::<span class="ident">TupleThree</span>::<span class="ident">from</span>(<span class="ident">inner</span>).<span class="ident">flattened</span>();
+ <span class="kw">let</span> <span class="ident">inner</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
+ <span class="kw">let</span> (<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::dsl::TupleThree::from</span>(<span class="ident">inner</span>).<span class="ident">flattened</span>();
<span class="ident">a</span>
.<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">a</span><span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">a</span>, <span class="ident">b</span><span class="question-mark">?</span>, <span class="ident">c</span><span class="question-mark">?</span>)))
<span class="ident">a_keymap</span>.<span class="ident">extend</span>(<span class="ident">b_keymap</span>.<span class="ident">into_iter</span>());
<span class="ident">a_keymap</span>.<span class="ident">extend</span>(<span class="ident">c_keymap</span>.<span class="ident">into_iter</span>());
- <span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">merge_networks</span>(<span class="kw-2">&</span><span class="ident">a_networks</span>, <span class="kw-2">&</span><span class="ident">b_networks</span>);
- <span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">merge_networks</span>(<span class="kw-2">&</span><span class="ident">networks</span>, <span class="kw-2">&</span><span class="ident">c_networks</span>);
+ <span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::merge_networks</span>(<span class="kw-2">&</span><span class="ident">a_networks</span>, <span class="kw-2">&</span><span class="ident">b_networks</span>);
+ <span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::merge_networks</span>(<span class="kw-2">&</span><span class="ident">networks</span>, <span class="kw-2">&</span><span class="ident">c_networks</span>);
- <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">a_minisc</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">b_minisc</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">c_minisc</span>),
+ <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">a_minisc</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">b_minisc</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">c_minisc</span>),
))<span class="question-mark">?</span>;
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_sortedmulti</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_sortedmulti</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>:<span class="ident">expr</span>, <span class="ident">sortedmulti_vec</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>::<span class="ident">new</span>();
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">make_sortedmulti</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::secp256k1::Secp256k1::new</span>();
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::make_sortedmulti</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
});
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>:<span class="ident">expr</span>, <span class="ident">sortedmulti</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span> $(, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> )<span class="op">+</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">IntoDescriptorKey</span>;
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::IntoDescriptorKey</span>;
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::secp256k1::Secp256k1::new</span>();
- <span class="kw">let</span> <span class="ident">keys</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[
+ <span class="kw">let</span> <span class="ident">keys</span> <span class="op">=</span> <span class="macro">vec!</span>[
$(
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>.<span class="ident">into_descriptor_key</span>(),
)<span class="op">*</span>
];
<span class="ident">keys</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Key</span>)
- .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">keys</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">make_sortedmulti</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">keys</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>))
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Key</span>)
+ .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">keys</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::make_sortedmulti</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">keys</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">build_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>))
});
}
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">apply_modifier</span> {
+<span class="macro">macro_rules!</span> <span class="ident">apply_modifier</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">CheckMiniscript</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::CheckMiniscript</span>;
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span> { <span class="ident">e</span>.<span class="ident">into</span>() })
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="op">-</span><span class="op">></span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError</span> { <span class="ident">e</span>.<span class="ident">into</span>() })
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="ident">keymap</span>, <span class="ident">networks</span>)<span class="op">|</span> {
- <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">miniscript</span>::<span class="ident">decode</span>::<span class="ident">Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">minisc</span>),
+ <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Miniscript::from_ast</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::miniscript::decode::Terminal</span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">terminal_variant</span>(
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">minisc</span>),
),
)<span class="question-mark">?</span>;
}};
( <span class="ident">a</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">Alt</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">Alt</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">s</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">Swap</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">Swap</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">c</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">Check</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">Check</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">d</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">DupIf</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">DupIf</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">v</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">Verify</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">Verify</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">j</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">NonZero</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">NonZero</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
( <span class="ident">n</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">ZeroNotEqual</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">ZeroNotEqual</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>)
}};
<span class="comment">// Modifiers expanded to other operators</span>
( <span class="ident">t</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a_minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>)<span class="op">|</span> {
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value_two</span><span class="macro">!</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value_two!</span>(
<span class="macro-nonterminal">AndV</span>,
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">a_minisc</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="bool-val">true</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>)
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">a_minisc</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>(<span class="bool-val">true</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>)
)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="kw">_</span>, <span class="kw">_</span>)<span class="op">|</span> (<span class="ident">minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>))
})
}};
( <span class="ident">l</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a_minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>)<span class="op">|</span> {
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value_two</span><span class="macro">!</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value_two!</span>(
<span class="macro-nonterminal">OrI</span>,
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="bool-val">false</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">a_minisc</span>)
+ <span class="ident">std::sync::Arc::new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>(<span class="bool-val">false</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">a_minisc</span>)
)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="kw">_</span>, <span class="kw">_</span>)<span class="op">|</span> (<span class="ident">minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>))
})
}};
( <span class="ident">u</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">expr</span> ) <span class="op">=</span><span class="op">></span> {{
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a_minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>)<span class="op">|</span> {
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value_two</span><span class="macro">!</span>(
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value_two!</span>(
<span class="macro-nonterminal">OrI</span>,
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">a_minisc</span>),
- <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="bool-val">false</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>)
+ <span class="ident">std::sync::Arc::new</span>(<span class="ident">a_minisc</span>),
+ <span class="ident">std::sync::Arc::new</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>(<span class="bool-val">false</span>).<span class="macro-nonterminal">unwrap</span>().<span class="number">0</span>)
)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="kw">_</span>, <span class="kw">_</span>)<span class="op">|</span> (<span class="ident">minisc</span>, <span class="ident">a_keymap</span>, <span class="ident">a_networks</span>))
})
<span class="doccomment">/// # Ok::<(), Box<dyn std::error::Error>>(())</span>
<span class="doccomment">/// ```</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">descriptor</span> {
+<span class="macro">macro_rules!</span> <span class="ident">descriptor</span> {
( <span class="ident">bare</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_sh</span><span class="macro">!</span>(<span class="macro-nonterminal">Bare</span>, <span class="ident">new</span>, <span class="ident">new</span>, <span class="ident">Legacy</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_sh!</span>(<span class="macro-nonterminal">Bare</span>, <span class="ident">new</span>, <span class="ident">new</span>, <span class="ident">Legacy</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
});
( <span class="ident">sh</span> ( <span class="ident">wsh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="macro-nonterminal">shwsh</span> ($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>))
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="macro-nonterminal">shwsh</span> ($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>))
});
( <span class="ident">shwsh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_sh</span><span class="macro">!</span>(<span class="macro-nonterminal">Sh</span>, <span class="ident">new_wsh</span>, <span class="ident">new_wsh_sortedmulti</span>, <span class="ident">Segwitv0</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_sh!</span>(<span class="macro-nonterminal">Sh</span>, <span class="ident">new_wsh</span>, <span class="ident">new_wsh_sortedmulti</span>, <span class="ident">Segwitv0</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
});
( <span class="ident">pk</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
<span class="comment">// `pk()` is actually implemented as `bare(pk())`</span>
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>( <span class="macro-nonterminal">bare</span> ( <span class="ident">pk</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ) ) )
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::descriptor!</span>( <span class="macro-nonterminal">bare</span> ( <span class="ident">pk</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ) ) )
});
( <span class="ident">pkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_pk</span><span class="macro">!</span>(<span class="macro-nonterminal">Pkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Legacy</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> (<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">Pkh</span>(<span class="ident">a</span>), <span class="ident">b</span>, <span class="ident">c</span>))
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_pk!</span>(<span class="macro-nonterminal">Pkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Legacy</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> (<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::Pkh</span>(<span class="ident">a</span>), <span class="ident">b</span>, <span class="ident">c</span>))
});
( <span class="ident">wpkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_pk</span><span class="macro">!</span>(<span class="macro-nonterminal">Wpkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Segwitv0</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_pk!</span>(<span class="macro-nonterminal">Wpkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Segwitv0</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">a</span><span class="question-mark">?</span>, <span class="ident">b</span>, <span class="ident">c</span>)))
- .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> (<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">Wpkh</span>(<span class="ident">a</span>), <span class="ident">b</span>, <span class="ident">c</span>))
+ .<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> (<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::Wpkh</span>(<span class="ident">a</span>), <span class="ident">b</span>, <span class="ident">c</span>))
});
( <span class="ident">sh</span> ( <span class="ident">wpkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="macro-nonterminal">shwpkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ))
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="macro-nonterminal">shwpkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ))
});
( <span class="ident">shwpkh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">Sh</span>};
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">Sh</span>};
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_pk</span><span class="macro">!</span>(<span class="macro-nonterminal">Wpkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">Segwitv0</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_pk!</span>(<span class="macro-nonterminal">Wpkh</span>, <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::Segwitv0</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>)
.<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">a</span><span class="question-mark">?</span>, <span class="ident">b</span>, <span class="ident">c</span>)))
- .<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">Sh</span>(<span class="ident">Sh</span>::<span class="ident">new_wpkh</span>(<span class="ident">a</span>.<span class="ident">into_inner</span>())<span class="question-mark">?</span>), <span class="ident">b</span>, <span class="ident">c</span>)))
+ .<span class="ident">and_then</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> <span class="prelude-val">Ok</span>((<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::Sh</span>(<span class="ident">Sh::new_wpkh</span>(<span class="ident">a</span>.<span class="ident">into_inner</span>())<span class="question-mark">?</span>), <span class="ident">b</span>, <span class="ident">c</span>)))
});
( <span class="ident">sh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_sh</span><span class="macro">!</span>(<span class="macro-nonterminal">Sh</span>, <span class="ident">new</span>, <span class="ident">new_sortedmulti</span>, <span class="ident">Legacy</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_sh!</span>(<span class="macro-nonterminal">Sh</span>, <span class="ident">new</span>, <span class="ident">new_sortedmulti</span>, <span class="ident">Legacy</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
});
( <span class="ident">wsh</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_top_level_sh</span><span class="macro">!</span>(<span class="macro-nonterminal">Wsh</span>, <span class="ident">new</span>, <span class="ident">new_sortedmulti</span>, <span class="ident">Segwitv0</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_top_level_sh!</span>(<span class="macro-nonterminal">Wsh</span>, <span class="ident">new</span>, <span class="ident">new_sortedmulti</span>, <span class="ident">Segwitv0</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">minisc</span> )<span class="kw-2">*</span>)
});
}
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">fragment_internal</span> {
+<span class="macro">macro_rules!</span> <span class="ident">fragment_internal</span> {
<span class="comment">// The @v prefix is used to parse a sequence of operands and return them in a vector. This is</span>
<span class="comment">// used by operands that take a variable number of arguments, like `thresh()` and `multi()`.</span>
( @<span class="ident">v</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span>:<span class="ident">ident</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>:<span class="ident">tt</span> )<span class="op">*</span> ) $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span> )<span class="op">*</span> ) )];
- <span class="ident">v</span>.<span class="ident">append</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> ));
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span> )<span class="op">*</span> ) )];
+ <span class="ident">v</span>.<span class="ident">append</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> ));
<span class="ident">v</span>
});
<span class="comment">// Match modifiers</span>
( @<span class="ident">v</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">tt</span> : $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
<span class="kw">let</span> <span class="ident">first</span> <span class="op">=</span> <span class="ident">v</span>.<span class="ident">drain</span>(..<span class="number">1</span>).<span class="ident">next</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">first</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">first</span>);
+ <span class="kw">let</span> <span class="ident">first</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">first</span>);
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v_final</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">first</span>];
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v_final</span> <span class="op">=</span> <span class="macro">vec!</span>[<span class="ident">first</span>];
<span class="ident">v_final</span>.<span class="ident">append</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">v</span>);
<span class="ident">v_final</span>
});
<span class="comment">// Remove commas between operands</span>
( @<span class="ident">v</span> , $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> )
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> )
});
( @<span class="ident">v</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro">vec</span><span class="macro">!</span>[]
+ <span class="macro">vec!</span>[]
});
<span class="comment">// The @t prefix is used to parse a sequence of operands and return them in a tuple. This</span>
<span class="comment">// more convenient structures like `TupleTwo`. If the conversion succedes, the right number of</span>
<span class="comment">// args was passed. Otherwise the compilation fails entirely.</span>
( @<span class="ident">t</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span>:<span class="ident">ident</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span>:<span class="ident">tt</span> )<span class="op">*</span> ) $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- (<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span> )<span class="op">*</span> ) ), <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> ))
+ (<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">op</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">args</span> )<span class="op">*</span> ) ), <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> ))
});
<span class="comment">// Match modifiers</span>
( @<span class="ident">t</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">tt</span> : $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> (<span class="ident">first</span>, <span class="ident">tail</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
- (<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">first</span>), <span class="ident">tail</span>)
+ <span class="kw">let</span> (<span class="ident">first</span>, <span class="ident">tail</span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
+ (<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">first</span>), <span class="ident">tail</span>)
});
<span class="comment">// Remove commas between operands</span>
( @<span class="ident">t</span> , $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> )
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">t</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> )
});
( @<span class="ident">t</span> ) <span class="op">=</span><span class="op">></span> ({
()
<span class="comment">// Fallback to calling `fragment!()`</span>
( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>($( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tokens</span> )<span class="kw-2">*</span>)
});
}
<span class="doccomment">///</span>
<span class="doccomment">/// The syntax to write macro fragment is the same as documented for the [`descriptor`] macro.</span>
<span class="attribute">#[<span class="ident">macro_export</span>]</span>
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">fragment</span> {
+<span class="macro">macro_rules!</span> <span class="ident">fragment</span> {
<span class="comment">// Modifiers</span>
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">tt</span> : $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span>:<span class="ident">tt</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="ident">op</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">apply_modifier</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">op</span>)
+ <span class="kw">let</span> <span class="ident">op</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tail</span> )<span class="op">*</span> );
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::apply_modifier!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">modif</span>:<span class="ident">op</span>)
});
<span class="comment">// Miniscript</span>
( <span class="bool-val">true</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode</span><span class="macro">!</span>(<span class="macro-nonterminal">True</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode!</span>(<span class="macro-nonterminal">True</span>)
});
( <span class="bool-val">false</span> ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode</span><span class="macro">!</span>(<span class="macro-nonterminal">False</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode!</span>(<span class="macro-nonterminal">False</span>)
});
( <span class="ident">pk_k</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>::<span class="ident">new</span>();
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">make_pk</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::secp256k1::Secp256k1::new</span>();
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::make_pk</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
});
( <span class="ident">pk</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="macro-nonterminal">c</span>:<span class="ident">pk_k</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ))
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>(<span class="macro-nonterminal">c</span>:<span class="ident">pk_k</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span> ))
});
( <span class="ident">pk_h</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key_hash</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">PkH</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key_hash</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">PkH</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key_hash</span>)
});
( <span class="ident">after</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">After</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">After</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>)
});
( <span class="ident">older</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">Older</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">Older</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">value</span>)
});
( <span class="ident">sha256</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">Sha256</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">Sha256</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
});
( <span class="ident">hash256</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">Hash256</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">Hash256</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
});
( <span class="ident">ripemd160</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">Ripemd160</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">Ripemd160</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
});
( <span class="ident">hash160</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value</span><span class="macro">!</span>(<span class="macro-nonterminal">Hash160</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value!</span>(<span class="macro-nonterminal">Hash160</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">hash</span>)
});
( <span class="ident">and_v</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">AndV</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">AndV</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">and_b</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">AndB</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">AndB</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">and_or</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_three</span><span class="macro">!</span>(<span class="macro-nonterminal">AndOr</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_three!</span>(<span class="macro-nonterminal">AndOr</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">or_b</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">OrB</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">OrB</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">or_d</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">OrD</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">OrD</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">or_c</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">OrC</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">OrC</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">or_i</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_node_opcode_two</span><span class="macro">!</span>(<span class="macro-nonterminal">OrI</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_node_opcode_two!</span>(<span class="macro-nonterminal">OrI</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="kw-2">*</span>)
});
( <span class="ident">thresh_vec</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">items</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">KeyMap</span>;
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::miniscript::descriptor::KeyMap</span>;
<span class="kw">let</span> (<span class="ident">items</span>, <span class="ident">key_maps_networks</span>): (<span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>) <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">items</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">a</span>, <span class="ident">b</span>, <span class="ident">c</span>)<span class="op">|</span> (<span class="ident">a</span>, (<span class="ident">b</span>, <span class="ident">c</span>))).<span class="ident">unzip</span>();
- <span class="kw">let</span> <span class="ident">items</span> <span class="op">=</span> <span class="ident">items</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>::<span class="ident">new</span>).<span class="ident">collect</span>();
+ <span class="kw">let</span> <span class="ident">items</span> <span class="op">=</span> <span class="ident">items</span>.<span class="ident">into_iter</span>().<span class="ident">map</span>(<span class="ident">std::sync::Arc::new</span>).<span class="ident">collect</span>();
- <span class="kw">let</span> (<span class="ident">key_maps</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="ident">key_maps_networks</span>.<span class="ident">into_iter</span>().<span class="ident">fold</span>((<span class="ident">KeyMap</span>::<span class="ident">default</span>(), <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">any_network</span>()), <span class="op">|</span>(<span class="kw-2">mut</span> <span class="ident">keys_acc</span>, <span class="ident">net_acc</span>), (<span class="ident">key</span>, <span class="ident">net</span>)<span class="op">|</span> {
+ <span class="kw">let</span> (<span class="ident">key_maps</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="ident">key_maps_networks</span>.<span class="ident">into_iter</span>().<span class="ident">fold</span>((<span class="ident">KeyMap::default</span>(), <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::any_network</span>()), <span class="op">|</span>(<span class="kw-2">mut</span> <span class="ident">keys_acc</span>, <span class="ident">net_acc</span>), (<span class="ident">key</span>, <span class="ident">net</span>)<span class="op">|</span> {
<span class="ident">keys_acc</span>.<span class="ident">extend</span>(<span class="ident">key</span>.<span class="ident">into_iter</span>());
- <span class="kw">let</span> <span class="ident">net_acc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">merge_networks</span>(<span class="kw-2">&</span><span class="ident">net_acc</span>, <span class="kw-2">&</span><span class="ident">net</span>);
+ <span class="kw">let</span> <span class="ident">net_acc</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::merge_networks</span>(<span class="kw-2">&</span><span class="ident">net_acc</span>, <span class="kw-2">&</span><span class="ident">net</span>);
(<span class="ident">keys_acc</span>, <span class="ident">net_acc</span>)
});
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">impl_leaf_opcode_value_two</span><span class="macro">!</span>(<span class="macro-nonterminal">Thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">items</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::impl_leaf_opcode_value_two!</span>(<span class="macro-nonterminal">Thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">items</span>)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">minisc</span>, <span class="kw">_</span>, <span class="kw">_</span>)<span class="op">|</span> (<span class="ident">minisc</span>, <span class="ident">key_maps</span>, <span class="ident">valid_networks</span>))
});
( <span class="ident">thresh</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span>, $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">let</span> <span class="ident">items</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment_internal</span><span class="macro">!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
+ <span class="kw">let</span> <span class="ident">items</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment_internal!</span>( @<span class="macro-nonterminal">v</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span> )<span class="op">*</span> );
<span class="ident">items</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
- .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">items</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro">fragment</span><span class="macro">!</span>(<span class="macro-nonterminal">thresh_vec</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">items</span>)))
+ .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">items</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro">::fragment!</span>(<span class="macro-nonterminal">thresh_vec</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">items</span>)))
});
( <span class="ident">multi_vec</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>:<span class="ident">expr</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">make_multi</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>)
+ <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::make_multi</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">keys</span>)
});
( <span class="ident">multi</span> ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>:<span class="ident">expr</span> $(, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>:<span class="ident">expr</span> )<span class="op">+</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">IntoDescriptorKey</span>;
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">use</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::IntoDescriptorKey</span>;
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::bitcoin::secp256k1::Secp256k1::new</span>();
- <span class="kw">let</span> <span class="ident">keys</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[
+ <span class="kw">let</span> <span class="ident">keys</span> <span class="op">=</span> <span class="macro">vec!</span>[
$(
<span class="macro-nonterminal">$</span><span class="macro-nonterminal">key</span>.<span class="ident">into_descriptor_key</span>(),
)<span class="op">*</span>
];
<span class="ident">keys</span>.<span class="ident">into_iter</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()
- .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">descriptor</span>::<span class="ident">DescriptorError</span>::<span class="ident">Key</span>)
- .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">keys</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span>::<span class="macro-nonterminal">keys</span>::<span class="ident">make_multi</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">keys</span>, <span class="kw-2">&</span><span class="ident">secp</span>))
+ .<span class="ident">map_err</span>(<span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::descriptor::DescriptorError::Key</span>)
+ .<span class="ident">and_then</span>(<span class="op">|</span><span class="ident">keys</span><span class="op">|</span> <span class="macro-nonterminal">$</span><span class="kw">crate</span><span class="macro-nonterminal">::keys::make_multi</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">thresh</span>, <span class="ident">keys</span>, <span class="kw-2">&</span><span class="ident">secp</span>))
});
<span class="comment">// `sortedmulti()` is handled separately</span>
( <span class="ident">sortedmulti</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro">compile_error</span><span class="macro">!</span>(<span class="string">"`sortedmulti` can only be used as the root operand of a descriptor"</span>);
+ <span class="macro">compile_error!</span>(<span class="string">"`sortedmulti` can only be used as the root operand of a descriptor"</span>);
});
( <span class="ident">sortedmulti_vec</span> ( $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">inner</span>:<span class="ident">tt</span> )<span class="op">*</span> ) ) <span class="op">=</span><span class="op">></span> ({
- <span class="macro">compile_error</span><span class="macro">!</span>(<span class="string">"`sortedmulti_vec` can only be used as the root operand of a descriptor"</span>);
+ <span class="macro">compile_error!</span>(<span class="string">"`sortedmulti_vec` can only be used as the root operand of a descriptor"</span>);
});
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">ToHex</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>;
- <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorTrait</span>, <span class="ident">KeyMap</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::ToHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::secp256k1::Secp256k1</span>;
+ <span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorTrait</span>, <span class="ident">KeyMap</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">Descriptor</span>, <span class="ident">Legacy</span>, <span class="ident">Segwitv0</span>};
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorError</span>, <span class="ident">DescriptorMeta</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>, <span class="ident">ValidNetworks</span>};
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">constants</span>::<span class="ident">Network</span>::{<span class="ident">Bitcoin</span>, <span class="ident">Regtest</span>, <span class="ident">Signet</span>, <span class="ident">Testnet</span>};
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{<span class="ident">DescriptorError</span>, <span class="ident">DescriptorMeta</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>, <span class="ident">ValidNetworks</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::network::constants::Network</span>::{<span class="ident">Bitcoin</span>, <span class="ident">Regtest</span>, <span class="ident">Signet</span>, <span class="ident">Testnet</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::PrivateKey</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">derived</span>::<span class="ident">AsDerived</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::derived::AsDerived</span>;
<span class="comment">// test the descriptor!() macro</span>
<span class="ident">is_fixed</span>: <span class="ident">bool</span>,
<span class="ident">expected</span>: <span class="kw-2">&</span>[<span class="kw-2">&</span><span class="ident">str</span>],
) {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">_key_map</span>, <span class="ident">_networks</span>) <span class="op">=</span> <span class="ident">desc</span>.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_witness</span>(), <span class="ident">is_witness</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>(), <span class="ident">is_fixed</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">desc</span>.<span class="ident">is_witness</span>(), <span class="ident">is_witness</span>);
+ <span class="macro">assert_eq!</span>(<span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>(), <span class="ident">is_fixed</span>);
<span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">expected</span>.<span class="ident">len</span>() {
<span class="kw">let</span> <span class="ident">index</span> <span class="op">=</span> <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>;
<span class="kw">let</span> <span class="ident">child_desc</span> <span class="op">=</span> <span class="kw">if</span> <span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>() {
};
<span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">child_desc</span>.<span class="ident">address</span>(<span class="ident">Regtest</span>);
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Ok</span>(<span class="ident">address</span>) <span class="op">=</span> <span class="ident">address</span> {
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">address</span>.<span class="ident">to_string</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">address</span>.<span class="ident">to_string</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
} <span class="kw">else</span> {
<span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">child_desc</span>.<span class="ident">script_pubkey</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">script</span>.<span class="ident">to_hex</span>().<span class="ident">as_str</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">script</span>.<span class="ident">to_hex</span>().<span class="ident">as_str</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
}
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_fixed_legacy_descriptors</span>() {
- <span class="kw">let</span> <span class="ident">pubkey1</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey1</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">pubkey2</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey2</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"032e58afe51f9ed8ad3cc7897f634d881fdbe49a81564629ded8156bebd2ffd1af"</span>,
)
.<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">bare</span>(<span class="ident">multi</span>(<span class="number">1</span>,<span class="ident">pubkey1</span>,<span class="ident">pubkey2</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">bare</span>(<span class="ident">multi</span>(<span class="number">1</span>,<span class="ident">pubkey1</span>,<span class="ident">pubkey2</span>))),
<span class="bool-val">false</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"512103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd21032e58afe51f9ed8ad3cc7897f634d881fdbe49a81564629ded8156bebd2ffd1af52ae"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pk</span>(<span class="ident">pubkey1</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">pk</span>(<span class="ident">pubkey1</span>)),
<span class="bool-val">false</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"2103a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bdac"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="ident">pubkey1</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">pkh</span>(<span class="ident">pubkey1</span>)),
<span class="bool-val">false</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"muZpTpBYhxmRFuCjLc7C6BBDF32C8XVJUi"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>))),
<span class="bool-val">false</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"2MymURoV1bzuMnWMGiXzyomDkeuxXY7Suey"</span>],
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_fixed_segwitv0_descriptors</span>() {
- <span class="kw">let</span> <span class="ident">pubkey1</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey1</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">pubkey2</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey2</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"032e58afe51f9ed8ad3cc7897f634d881fdbe49a81564629ded8156bebd2ffd1af"</span>,
)
.<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey1</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey1</span>)),
<span class="bool-val">true</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"bcrt1qngw83fg8dz0k749cg7k3emc7v98wy0c7azaa6h"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey1</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey1</span>))),
<span class="bool-val">true</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"2N5LiC3CqzxDamRTPG1kiNv1FpNJQ7x28sb"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>))),
<span class="bool-val">true</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"bcrt1qgw8jvv2hsrvjfa6q66rk6har7d32lrqm5unnf5cl63q9phxfvgps5fyfqe"</span>],
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>)))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey1</span>, <span class="ident">pubkey2</span>)))),
<span class="bool-val">true</span>,
<span class="bool-val">true</span>,
<span class="kw-2">&</span>[<span class="string">"2NCidRJysy7apkmE6JF5mLLaJFkrN3Ub9iy"</span>],
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip32_legacy_descriptors</span>() {
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pk</span>(<span class="ident">desc_key</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">pk</span>(<span class="ident">desc_key</span>)),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
- <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key1</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key2</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path2</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>))),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip32_segwitv0_descriptors</span>() {
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>)),
+ <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>)),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>))),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
- <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key1</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key2</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path2</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>))),
+ <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>))),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="kw">let</span> <span class="ident">desc_key1</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key2</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path2</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>)))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>)))),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_dsl_sortedmulti</span>() {
- <span class="kw">let</span> <span class="ident">key_1</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path_1</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">key_1</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path_1</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">key_2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path_2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/1"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">key_2</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path_2</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/1"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key1</span> <span class="op">=</span> (<span class="ident">key_1</span>, <span class="ident">path_1</span>);
<span class="kw">let</span> <span class="ident">desc_key2</span> <span class="op">=</span> (<span class="ident">key_2</span>, <span class="ident">path_2</span>);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">sortedmulti</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>.<span class="ident">clone</span>(), <span class="ident">desc_key2</span>.<span class="ident">clone</span>()))),
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">sortedmulti</span>(<span class="number">1</span>, <span class="ident">desc_key1</span>.<span class="ident">clone</span>(), <span class="ident">desc_key2</span>.<span class="ident">clone</span>()))),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">sortedmulti</span>(
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">sortedmulti</span>(
<span class="number">1</span>,
<span class="ident">desc_key1</span>.<span class="ident">clone</span>(),
<span class="ident">desc_key2</span>.<span class="ident">clone</span>()
);
<span class="ident">check</span>(
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">sortedmulti_vec</span>(<span class="number">1</span>, <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>]))),
+ <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">sortedmulti_vec</span>(<span class="number">1</span>, <span class="macro">vec!</span>[<span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>]))),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// - verify the valid_networks returned is correctly computed based on the keys present in the descriptor</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_valid_networks</span>() {
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> (<span class="ident">_desc</span>, <span class="ident">_key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="kw">let</span> (<span class="ident">_desc</span>, <span class="ident">_key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(
<span class="ident">valid_networks</span>,
[<span class="ident">Testnet</span>, <span class="ident">Regtest</span>, <span class="ident">Signet</span>].<span class="ident">iter</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>()
);
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/10/20/30/40"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"xprv9s21ZrQH143K3QTDL4LXw2F7HEK3wJUD2nW2nRk4stbPy6cq3jPPqjiChkVvvNKmPGJxWUtg6LnF5kejMRNNU3TGtRBeJgk33yuGBxrMPHi"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/10/20/30/40"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key</span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> (<span class="ident">_desc</span>, <span class="ident">_key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">valid_networks</span>, [<span class="ident">Bitcoin</span>].<span class="ident">iter</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>());
+ <span class="kw">let</span> (<span class="ident">_desc</span>, <span class="ident">_key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">valid_networks</span>, [<span class="ident">Bitcoin</span>].<span class="ident">iter</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>());
}
<span class="comment">// - verify the key_maps are correctly merged together</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_key_maps_merged</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
- <span class="kw">let</span> <span class="ident">xprv1</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path1</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv1</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path1</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key1</span> <span class="op">=</span> (<span class="ident">xprv1</span>, <span class="ident">path1</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">xprv2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv2</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path2</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/2147483647'/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key2</span> <span class="op">=</span> (<span class="ident">xprv2</span>, <span class="ident">path2</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">xprv3</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPdZXrcHNLf5JAJWFAoJ2TrstMRdSKtEggz6PddbuSkvHKM9oKJyFgZV1B7rw8oChspxyYbtmEXYyg1AjfWbL3ho3XHDpHRZf"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path3</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/10/20/30/40"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv3</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPdZXrcHNLf5JAJWFAoJ2TrstMRdSKtEggz6PddbuSkvHKM9oKJyFgZV1B7rw8oChspxyYbtmEXYyg1AjfWbL3ho3XHDpHRZf"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path3</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/10/20/30/40"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key3</span> <span class="op">=</span> (<span class="ident">xprv3</span>, <span class="ident">path3</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">_desc</span>, <span class="ident">key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span>
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>, <span class="ident">desc_key3</span>)))).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">key_map</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">desc_key1</span>, <span class="ident">desc_key2</span>, <span class="ident">desc_key3</span>)))).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">key_map</span>.<span class="ident">len</span>(), <span class="number">3</span>);
<span class="kw">let</span> <span class="ident">desc_key1</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span> (<span class="ident">xprv1</span>, <span class="ident">path1</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key2</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span> (<span class="ident">xprv2</span>, <span class="ident">path2</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">key1</span>, <span class="ident">_key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span> <span class="ident">desc_key1</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">key2</span>, <span class="ident">_key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span> <span class="ident">desc_key2</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">key3</span>, <span class="ident">_key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span> <span class="ident">desc_key3</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key1</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/0/*"</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key2</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF/2147483647'/0/*"</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key3</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPdZXrcHNLf5JAJWFAoJ2TrstMRdSKtEggz6PddbuSkvHKM9oKJyFgZV1B7rw8oChspxyYbtmEXYyg1AjfWbL3ho3XHDpHRZf/10/20/30/40/*"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key1</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy/0/*"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key2</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPegBHHnq7YEgM815dG24M2Jk5RVqipgDxF1HJ1tsnT815X5Fd5FRfMVUs8NZs9XCb6y9an8hRPThnhfwfXJ36intaekySHGF/2147483647'/0/*"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">key_map</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">key3</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(), <span class="string">"tprv8ZgxMBicQKsPdZXrcHNLf5JAJWFAoJ2TrstMRdSKtEggz6PddbuSkvHKM9oKJyFgZV1B7rw8oChspxyYbtmEXYyg1AjfWbL3ho3XHDpHRZf/10/20/30/40/*"</span>);
}
<span class="comment">// - verify the ScriptContext is correctly validated (i.e. passing a type that only impl IntoDescriptorKey<Segwitv0> to a pkh() descriptor should throw a compilation error</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_script_context_validation</span>() {
<span class="comment">// this compiles</span>
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">desc_key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span> <span class="op">=</span> (<span class="ident">xprv</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">_key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"pkh(tpubD6NzVbkrYhZ4WR7a4vY1VT3khMJMeAxVsfq9TBJyJWrNk247zCJtV7AWf6UJP7rAVsn8NNKdJi3gFyKPTmWZS9iukb91xbn2HbFSMQm2igY/0/*)#yrnz9pp2"</span>);
+ <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">_key_map</span>, <span class="ident">_valid_networks</span>) <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">pkh</span>(<span class="ident">desc_key</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"pkh(tpubD6NzVbkrYhZ4WR7a4vY1VT3khMJMeAxVsfq9TBJyJWrNk247zCJtV7AWf6UJP7rAVsn8NNKdJi3gFyKPTmWZS9iukb91xbn2HbFSMQm2igY/0/*)#yrnz9pp2"</span>);
<span class="comment">// as expected this does not compile due to invalid context</span>
<span class="comment">//let desc_key:DescriptorKey<Segwitv0> = (xprv, path.clone()).into_descriptor_key().unwrap();</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_dsl_modifiers</span>() {
<span class="kw">let</span> <span class="ident">private_key</span> <span class="op">=</span>
- <span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR"</span>).<span class="ident">unwrap</span>();
+ <span class="ident">PrivateKey::from_wif</span>(<span class="string">"cSQPHDBwXGjVzWRqAHm6zfvQhaTuj1f2bFH58h55ghbjtFwvmeXR"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span>
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">thresh</span>(<span class="number">2</span>,<span class="ident">d</span>:<span class="ident">v</span>:<span class="ident">older</span>(<span class="number">1</span>),<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">private_key</span>),<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">private_key</span>)))).<span class="ident">unwrap</span>();
+ <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">thresh</span>(<span class="number">2</span>,<span class="ident">d</span>:<span class="ident">v</span>:<span class="ident">older</span>(<span class="number">1</span>),<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">private_key</span>),<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">private_key</span>)))).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">descriptor</span>.<span class="ident">to_string</span>(), <span class="string">"wsh(thresh(2,dv:older(1),s:pk(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c),s:pk(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)))#cfdcqs3s"</span>)
+ <span class="macro">assert_eq!</span>(<span class="ident">descriptor</span>.<span class="ident">to_string</span>(), <span class="string">"wsh(thresh(2,dv:older(1),s:pk(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c),s:pk(02e96fe52ef0e22d2f131dd425ce1893073a3c6ad20e8cac36726393dfb4856a4c)))#cfdcqs3s"</span>)
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"Miniscript(ContextError(CompressedOnly))"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_dsl_miniscript_checks</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">uncompressed_pk</span> <span class="op">=</span>
- <span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"L5EZftvrYaSudiozVRzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6"</span>).<span class="ident">unwrap</span>();
+ <span class="ident">PrivateKey::from_wif</span>(<span class="string">"L5EZftvrYaSudiozVRzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6"</span>).<span class="ident">unwrap</span>();
<span class="ident">uncompressed_pk</span>.<span class="ident">compressed</span> <span class="op">=</span> <span class="bool-val">false</span>;
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">v</span>: <span class="ident">pk</span>(<span class="ident">uncompressed_pk</span>))).<span class="ident">unwrap</span>();
+ <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">v</span>: <span class="ident">pk</span>(<span class="ident">uncompressed_pk</span>))).<span class="ident">unwrap</span>();
}
}
</pre></div>
<!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="Source of the Rust file `src/descriptor/error.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>error.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="ident">DuplicatedKeys</span>,
<span class="doccomment">/// Error thrown while working with [`keys`](crate::keys)</span>
- <span class="ident">Key</span>(<span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>),
+ <span class="ident">Key</span>(<span class="kw">crate</span><span class="ident">::keys::KeyError</span>),
<span class="doccomment">/// Error while extracting and manipulating policies</span>
- <span class="ident">Policy</span>(<span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">policy</span>::<span class="ident">PolicyError</span>),
+ <span class="ident">Policy</span>(<span class="kw">crate</span><span class="ident">::descriptor::policy::PolicyError</span>),
<span class="doccomment">/// Invalid character found in the descriptor checksum</span>
<span class="ident">InvalidDescriptorCharacter</span>(<span class="ident">char</span>),
<span class="doccomment">/// BIP32 error</span>
- <span class="ident">Bip32</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>),
+ <span class="ident">Bip32</span>(<span class="ident">bitcoin::util::bip32::Error</span>),
<span class="doccomment">/// Error during base58 decoding</span>
- <span class="ident">Base58</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">base58</span>::<span class="ident">Error</span>),
+ <span class="ident">Base58</span>(<span class="ident">bitcoin::util::base58::Error</span>),
<span class="doccomment">/// Key-related error</span>
- <span class="ident">Pk</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">key</span>::<span class="ident">Error</span>),
+ <span class="ident">Pk</span>(<span class="ident">bitcoin::util::key::Error</span>),
<span class="doccomment">/// Miniscript error</span>
- <span class="ident">Miniscript</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>),
+ <span class="ident">Miniscript</span>(<span class="ident">miniscript::Error</span>),
<span class="doccomment">/// Hex decoding error</span>
- <span class="ident">Hex</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>),
+ <span class="ident">Hex</span>(<span class="ident">bitcoin::hashes::hex::Error</span>),
}
-<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">key_error</span>: <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Error</span> {
+<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span><span class="ident">::keys::KeyError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">key_error</span>: <span class="kw">crate</span><span class="ident">::keys::KeyError</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Error</span> {
<span class="kw">match</span> <span class="ident">key_error</span> {
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>::<span class="ident">Miniscript</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Miniscript</span>(<span class="ident">inner</span>),
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>::<span class="ident">Bip32</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Bip32</span>(<span class="ident">inner</span>),
- <span class="ident">e</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Key</span>(<span class="ident">e</span>),
+ <span class="kw">crate</span><span class="ident">::keys::KeyError::Miniscript</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error::Miniscript</span>(<span class="ident">inner</span>),
+ <span class="kw">crate</span><span class="ident">::keys::KeyError::Bip32</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error::Bip32</span>(<span class="ident">inner</span>),
+ <span class="ident">e</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error::Key</span>(<span class="ident">e</span>),
}
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Error</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">std::fmt::Display</span> <span class="kw">for</span> <span class="ident">Error</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">std::fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">std::fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">Error</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">Error</span> {}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>, <span class="ident">Bip32</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">base58</span>::<span class="ident">Error</span>, <span class="ident">Base58</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">key</span>::<span class="ident">Error</span>, <span class="ident">Pk</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>, <span class="ident">Miniscript</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>, <span class="ident">Hex</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">policy</span>::<span class="ident">PolicyError</span>, <span class="ident">Policy</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::bip32::Error</span>, <span class="ident">Bip32</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::base58::Error</span>, <span class="ident">Base58</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::key::Error</span>, <span class="ident">Pk</span>);
+<span class="macro">impl_error!</span>(<span class="ident">miniscript::Error</span>, <span class="ident">Miniscript</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::hashes::hex::Error</span>, <span class="ident">Hex</span>);
+<span class="macro">impl_error!</span>(<span class="kw">crate</span><span class="ident">::descriptor::policy::PolicyError</span>, <span class="ident">Policy</span>);
</pre></div>
</section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="bdk" data-search-js="../../../search-index.js"></div>
<script src="../../../main.js"></script><script src="../../../source-script.js"></script><script src="../../../source-files.js"></script></body></html>
\ No newline at end of file
<!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="Source of the Rust file `src/descriptor/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! This module contains generic utilities to work with descriptors, plus some re-exported types</span>
<span class="doccomment">//! from [`miniscript`].</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Deref</span>;
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashMap</span>, <span class="ident">HashSet</span>};
+<span class="kw">use</span> <span class="ident">std::ops::Deref</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::{
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>::{
<span class="ident">ChildNumber</span>, <span class="ident">DerivationPath</span>, <span class="ident">ExtendedPrivKey</span>, <span class="ident">ExtendedPubKey</span>, <span class="ident">Fingerprint</span>, <span class="ident">KeySource</span>,
};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Network</span>, <span class="ident">PublicKey</span>, <span class="ident">Script</span>, <span class="ident">TxOut</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorType</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">Wildcard</span>};
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">descriptor</span>::<span class="ident">KeyMap</span>, <span class="ident">Descriptor</span>, <span class="ident">Legacy</span>, <span class="ident">Miniscript</span>, <span class="ident">ScriptContext</span>, <span class="ident">Segwitv0</span>};
+<span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorType</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">Wildcard</span>};
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">descriptor::KeyMap</span>, <span class="ident">Descriptor</span>, <span class="ident">Legacy</span>, <span class="ident">Miniscript</span>, <span class="ident">ScriptContext</span>, <span class="ident">Segwitv0</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">DescriptorTrait</span>, <span class="ident">ForEachKey</span>, <span class="ident">TranslatePk</span>};
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">checksum</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">policy</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">template</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">checksum</span>::<span class="ident">get_checksum</span>;
-<span class="kw">use</span> <span class="self">self</span>::<span class="ident">derived</span>::<span class="ident">AsDerived</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">derived</span>::<span class="ident">DerivedDescriptorKey</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">as</span> <span class="ident">DescriptorError</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span>::<span class="ident">policy</span>::<span class="ident">Policy</span>;
-<span class="kw">use</span> <span class="self">self</span>::<span class="ident">template</span>::<span class="ident">DescriptorTemplateOut</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">IntoDescriptorKey</span>, <span class="ident">KeyError</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">signer</span>::<span class="ident">SignersContainer</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">SecpCtx</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::checksum::get_checksum</span>;
+<span class="kw">use</span> <span class="self">self</span><span class="ident">::derived::AsDerived</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::derived::DerivedDescriptorKey</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::error::Error</span> <span class="kw">as</span> <span class="ident">DescriptorError</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="self">self</span><span class="ident">::policy::Policy</span>;
+<span class="kw">use</span> <span class="self">self</span><span class="ident">::template::DescriptorTemplateOut</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">IntoDescriptorKey</span>, <span class="ident">KeyError</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::signer::SignersContainer</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::SecpCtx</span>;
<span class="doccomment">/// Alias for a [`Descriptor`] that can contain extended keys using [`DescriptorPublicKey`]</span>
<span class="kw">pub</span> <span class="kw">type</span> <span class="ident">ExtendedDescriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span><span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>;
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">computed</span><span class="op">|</span> <span class="ident">computed</span> <span class="op">=</span><span class="op">=</span> <span class="ident">parts</span>[<span class="number">1</span>])
.<span class="ident">unwrap_or</span>(<span class="bool-val">false</span>)
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError</span>::<span class="ident">InvalidDescriptorChecksum</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError::InvalidDescriptorChecksum</span>);
}
<span class="ident">parts</span>[<span class="number">0</span>]
<span class="self">self</span>
};
- <span class="ident">ExtendedDescriptor</span>::<span class="ident">parse_descriptor</span>(<span class="ident">secp</span>, <span class="ident">descriptor</span>)<span class="question-mark">?</span>
+ <span class="ident">ExtendedDescriptor::parse_descriptor</span>(<span class="ident">secp</span>, <span class="ident">descriptor</span>)<span class="question-mark">?</span>
.<span class="ident">into_wallet_descriptor</span>(<span class="ident">secp</span>, <span class="ident">network</span>)
}
}
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
<span class="ident">network</span>: <span class="ident">Network</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">ExtendedDescriptor</span>, <span class="ident">KeyMap</span>), <span class="ident">DescriptorError</span><span class="op">></span> {
- (<span class="self">self</span>, <span class="ident">KeyMap</span>::<span class="ident">default</span>()).<span class="ident">into_wallet_descriptor</span>(<span class="ident">secp</span>, <span class="ident">network</span>)
+ (<span class="self">self</span>, <span class="ident">KeyMap::default</span>()).<span class="ident">into_wallet_descriptor</span>(<span class="ident">secp</span>, <span class="ident">network</span>)
}
}
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
<span class="ident">network</span>: <span class="ident">Network</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">ExtendedDescriptor</span>, <span class="ident">KeyMap</span>), <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">DescriptorKey</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys::DescriptorKey</span>;
<span class="kw">let</span> <span class="ident">check_key</span> <span class="op">=</span> <span class="op">|</span><span class="ident">pk</span>: <span class="kw-2">&</span><span class="ident">DescriptorPublicKey</span><span class="op">|</span> {
<span class="kw">let</span> (<span class="ident">pk</span>, <span class="kw">_</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="kw">if</span> <span class="self">self</span>.<span class="number">0</span>.<span class="ident">is_witness</span>() {
- <span class="kw">let</span> <span class="ident">desciptor_key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="kw">let</span> <span class="ident">desciptor_key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
<span class="ident">pk</span>.<span class="ident">clone</span>().<span class="ident">into_descriptor_key</span>()<span class="question-mark">?</span>;
<span class="ident">desciptor_key</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>)<span class="question-mark">?</span>
} <span class="kw">else</span> {
- <span class="kw">let</span> <span class="ident">desciptor_key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">miniscript</span>::<span class="ident">Legacy</span><span class="op">></span> <span class="op">=</span>
+ <span class="kw">let</span> <span class="ident">desciptor_key</span>: <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">miniscript::Legacy</span><span class="op">></span> <span class="op">=</span>
<span class="ident">pk</span>.<span class="ident">clone</span>().<span class="ident">into_descriptor_key</span>()<span class="question-mark">?</span>;
<span class="ident">desciptor_key</span>.<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">secp</span>)<span class="question-mark">?</span>
};
<span class="kw">if</span> <span class="ident">networks</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">network</span>) {
<span class="prelude-val">Ok</span>(<span class="ident">pk</span>)
} <span class="kw">else</span> {
- <span class="prelude-val">Err</span>(<span class="ident">DescriptorError</span>::<span class="ident">Key</span>(<span class="ident">KeyError</span>::<span class="ident">InvalidNetwork</span>))
+ <span class="prelude-val">Err</span>(<span class="ident">DescriptorError::Key</span>(<span class="ident">KeyError::InvalidNetwork</span>))
}
};
<span class="comment">// them are valid. here we reset the network to make sure the wallet struct gets a</span>
<span class="comment">// descriptor with the right network everywhere.</span>
<span class="kw">let</span> <span class="ident">pk</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">pk</span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="kw-2">ref</span> <span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="kw-2">ref</span> <span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">xpub</span> <span class="op">=</span> <span class="ident">xpub</span>.<span class="ident">clone</span>();
<span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">network</span> <span class="op">=</span> <span class="ident">network</span>;
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>)
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>)
}
<span class="ident">other</span> <span class="op">=</span><span class="op">></span> <span class="ident">other</span>.<span class="ident">clone</span>(),
};
<span class="prelude-val">Ok</span>(<span class="ident">pk</span>)
} <span class="kw">else</span> {
- <span class="prelude-val">Err</span>(<span class="ident">DescriptorError</span>::<span class="ident">Key</span>(<span class="ident">KeyError</span>::<span class="ident">InvalidNetwork</span>))
+ <span class="prelude-val">Err</span>(<span class="ident">DescriptorError::Key</span>(<span class="ident">KeyError::InvalidNetwork</span>))
}
};
<span class="comment">// Ensure the keys don't contain any hardened derivation steps or hardened wildcards</span>
<span class="kw">let</span> <span class="ident">descriptor_contains_hardened_steps</span> <span class="op">=</span> <span class="ident">descriptor</span>.<span class="ident">for_any_key</span>(<span class="op">|</span><span class="ident">k</span><span class="op">|</span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">DescriptorXKey</span> {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">DescriptorXKey</span> {
<span class="ident">derivation_path</span>,
<span class="ident">wildcard</span>,
..
}) <span class="op">=</span> <span class="ident">k</span>.<span class="ident">as_key</span>()
{
- <span class="kw">return</span> <span class="kw-2">*</span><span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="ident">Hardened</span>
- <span class="op">|</span><span class="op">|</span> <span class="ident">derivation_path</span>.<span class="ident">into_iter</span>().<span class="ident">any</span>(<span class="ident">ChildNumber</span>::<span class="ident">is_hardened</span>);
+ <span class="kw">return</span> <span class="kw-2">*</span><span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard::Hardened</span>
+ <span class="op">|</span><span class="op">|</span> <span class="ident">derivation_path</span>.<span class="ident">into_iter</span>().<span class="ident">any</span>(<span class="ident">ChildNumber::is_hardened</span>);
}
<span class="bool-val">false</span>
});
<span class="kw">if</span> <span class="ident">descriptor_contains_hardened_steps</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError</span>::<span class="ident">HardenedDerivationXpub</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError::HardenedDerivationXpub</span>);
}
<span class="comment">// Ensure that there are no duplicated keys</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">found_keys</span> <span class="op">=</span> <span class="ident">HashSet</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">found_keys</span> <span class="op">=</span> <span class="ident">HashSet::new</span>();
<span class="kw">let</span> <span class="ident">descriptor_contains_duplicated_keys</span> <span class="op">=</span> <span class="ident">descriptor</span>.<span class="ident">for_any_key</span>(<span class="op">|</span><span class="ident">k</span><span class="op">|</span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xkey</span>) <span class="op">=</span> <span class="ident">k</span>.<span class="ident">as_key</span>() {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xkey</span>) <span class="op">=</span> <span class="ident">k</span>.<span class="ident">as_key</span>() {
<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">xkey</span>.<span class="ident">root_fingerprint</span>(<span class="ident">secp</span>);
<span class="kw">if</span> <span class="ident">found_keys</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">fingerprint</span>) {
<span class="kw">return</span> <span class="bool-val">true</span>;
<span class="bool-val">false</span>
});
<span class="kw">if</span> <span class="ident">descriptor_contains_duplicated_keys</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError</span>::<span class="ident">DuplicatedKeys</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">DescriptorError::DuplicatedKeys</span>);
}
<span class="prelude-val">Ok</span>((<span class="ident">descriptor</span>, <span class="ident">keymap</span>))
<span class="attribute">#[<span class="ident">doc</span>(<span class="ident">hidden</span>)]</span>
<span class="doccomment">/// Used internally mainly by the `descriptor!()` and `fragment!()` macros</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">CheckMiniscript</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">miniscript</span>::<span class="ident">ScriptContext</span><span class="op">></span> {
- <span class="kw">fn</span> <span class="ident">check_minsicript</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">miniscript</span>::<span class="ident">Error</span><span class="op">></span>;
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">CheckMiniscript</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">miniscript::ScriptContext</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">check_minsicript</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">miniscript::Error</span><span class="op">></span>;
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">miniscript</span>::<span class="ident">ScriptContext</span>, <span class="ident">Pk</span>: <span class="ident">miniscript</span>::<span class="ident">MiniscriptKey</span><span class="op">></span> <span class="ident">CheckMiniscript</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>
- <span class="kw">for</span> <span class="ident">miniscript</span>::<span class="ident">Miniscript</span><span class="op"><</span><span class="ident">Pk</span>, <span class="ident">Ctx</span><span class="op">></span>
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">miniscript::ScriptContext</span>, <span class="ident">Pk</span>: <span class="ident">miniscript::MiniscriptKey</span><span class="op">></span> <span class="ident">CheckMiniscript</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>
+ <span class="kw">for</span> <span class="ident">miniscript::Miniscript</span><span class="op"><</span><span class="ident">Pk</span>, <span class="ident">Ctx</span><span class="op">></span>
{
- <span class="kw">fn</span> <span class="ident">check_minsicript</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">miniscript</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="ident">Ctx</span>::<span class="ident">check_global_validity</span>(<span class="self">self</span>)<span class="question-mark">?</span>;
+ <span class="kw">fn</span> <span class="ident">check_minsicript</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">miniscript::Error</span><span class="op">></span> {
+ <span class="ident">Ctx::check_global_validity</span>(<span class="self">self</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(())
}
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">derivation_path</span>.<span class="ident">clone</span>(),
};
- <span class="kw">if</span> <span class="self">self</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="prelude-val">None</span> {
+ <span class="kw">if</span> <span class="self">self</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard::None</span> {
<span class="ident">full_path</span>
.<span class="ident">into_iter</span>()
.<span class="ident">chain</span>(<span class="ident">append</span>.<span class="ident">iter</span>())
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">derivation_path</span>.<span class="ident">clone</span>(),
};
- <span class="kw">if</span> <span class="self">self</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="prelude-val">None</span> {
+ <span class="kw">if</span> <span class="self">self</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard::None</span> {
<span class="ident">full_path</span>
.<span class="ident">into_iter</span>()
.<span class="ident">chain</span>(<span class="ident">append</span>.<span class="ident">iter</span>())
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DerivedDescriptor</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span><span class="op">></span>;
<span class="kw">fn</span> <span class="ident">derive_from_psbt_input</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt_input</span>: <span class="kw-2">&</span><span class="ident">psbt</span>::<span class="ident">Input</span>,
+ <span class="ident">psbt_input</span>: <span class="kw-2">&</span><span class="ident">psbt::Input</span>,
<span class="ident">utxo</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TxOut</span><span class="op">></span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DerivedDescriptor</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span><span class="op">></span>;
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">DescriptorScripts</span> <span class="kw">for</span> <span class="ident">DerivedDescriptor</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">psbt_redeem_script</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">desc_type</span>() {
- <span class="ident">DescriptorType</span>::<span class="ident">ShWpkh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">ShWsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>().<span class="ident">to_v0_p2wsh</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">Sh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">Bare</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">ShSortedMulti</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::ShWpkh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::ShWsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>().<span class="ident">to_v0_p2wsh</span>()),
+ <span class="ident">DescriptorType::Sh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::Bare</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::ShSortedMulti</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
}
}
<span class="kw">fn</span> <span class="ident">psbt_witness_script</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Script</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">desc_type</span>() {
- <span class="ident">DescriptorType</span>::<span class="ident">Wsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">ShWsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
- <span class="ident">DescriptorType</span>::<span class="ident">WshSortedMulti</span> <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWshSortedMulti</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">DescriptorType::Wsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::ShWsh</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>()),
+ <span class="ident">DescriptorType::WshSortedMulti</span> <span class="op">|</span> <span class="ident">DescriptorType::ShWshSortedMulti</span> <span class="op">=</span><span class="op">></span> {
<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">explicit_script</span>())
}
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
<span class="kw">impl</span> <span class="ident">DescriptorMeta</span> <span class="kw">for</span> <span class="ident">ExtendedDescriptor</span> {
<span class="kw">fn</span> <span class="ident">is_witness</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="macro">matches</span><span class="macro">!</span>(
+ <span class="macro">matches!</span>(
<span class="self">self</span>.<span class="ident">desc_type</span>(),
- <span class="ident">DescriptorType</span>::<span class="ident">Wpkh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWpkh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">Wsh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWsh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWshSortedMulti</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">WshSortedMulti</span>
+ <span class="ident">DescriptorType::Wpkh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::ShWpkh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::Wsh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::ShWsh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::ShWshSortedMulti</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::WshSortedMulti</span>
)
}
<span class="kw">fn</span> <span class="ident">get_extended_keys</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">DescriptorXKey</span><span class="op"><</span><span class="ident">ExtendedPubKey</span><span class="op">></span><span class="op">></span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="self">self</span>.<span class="ident">for_each_key</span>(<span class="op">|</span><span class="ident">pk</span><span class="op">|</span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">pk</span>.<span class="ident">as_key</span>() {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">pk</span>.<span class="ident">as_key</span>() {
<span class="ident">answer</span>.<span class="ident">push</span>(<span class="ident">xpub</span>.<span class="ident">clone</span>());
}
<span class="kw">return</span> <span class="bool-val">true</span>;
}
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">key</span>.<span class="ident">as_key</span>().<span class="ident">deref</span>() {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">key</span>.<span class="ident">as_key</span>().<span class="ident">deref</span>() {
<span class="comment">// Check if the key matches one entry in our `index`. If it does, `matches()` will</span>
<span class="comment">// return the "prefix" that matched, so we remove that prefix from the full path</span>
<span class="comment">// found in `index` and save it in `derive_path`. We expect this to be a derivation</span>
});
<span class="kw">match</span> <span class="ident">derivation_path</span> {
- <span class="prelude-val">Some</span>(<span class="ident">path</span>) <span class="kw">if</span> <span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">path</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">1</span> <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Some</span>(<span class="ident">path</span>) <span class="kw">if</span> <span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">!</span><span class="op">=</span> <span class="ident">Wildcard::None</span> <span class="op">&&</span> <span class="ident">path</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">1</span> <span class="op">=</span><span class="op">></span> {
<span class="comment">// Ignore hardened wildcards</span>
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">ChildNumber</span>::<span class="ident">Normal</span> { <span class="ident">index</span> } <span class="op">=</span> <span class="ident">path</span>[<span class="number">0</span>] {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">ChildNumber::Normal</span> { <span class="ident">index</span> } <span class="op">=</span> <span class="ident">path</span>[<span class="number">0</span>] {
<span class="ident">path_found</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">index</span>)
}
}
- <span class="prelude-val">Some</span>(<span class="ident">path</span>) <span class="kw">if</span> <span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard</span>::<span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">path</span>.<span class="ident">is_empty</span>() <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Some</span>(<span class="ident">path</span>) <span class="kw">if</span> <span class="ident">xpub</span>.<span class="ident">wildcard</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Wildcard::None</span> <span class="op">&&</span> <span class="ident">path</span>.<span class="ident">is_empty</span>() <span class="op">=</span><span class="op">></span> {
<span class="ident">path_found</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="number">0</span>)
}
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> {}
<span class="kw">fn</span> <span class="ident">derive_from_psbt_input</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt_input</span>: <span class="kw-2">&</span><span class="ident">psbt</span>::<span class="ident">Input</span>,
+ <span class="ident">psbt_input</span>: <span class="kw-2">&</span><span class="ident">psbt::Input</span>,
<span class="ident">utxo</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TxOut</span><span class="op">></span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="lifetime">'s</span> <span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DerivedDescriptor</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">as_derived_fixed</span>(<span class="ident">secp</span>);
<span class="kw">match</span> <span class="ident">descriptor</span>.<span class="ident">desc_type</span>() {
<span class="comment">// TODO: add pk() here</span>
- <span class="ident">DescriptorType</span>::<span class="ident">Pkh</span> <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">Wpkh</span> <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWpkh</span>
+ <span class="ident">DescriptorType::Pkh</span> <span class="op">|</span> <span class="ident">DescriptorType::Wpkh</span> <span class="op">|</span> <span class="ident">DescriptorType::ShWpkh</span>
<span class="kw">if</span> <span class="ident">utxo</span>.<span class="ident">is_some</span>()
<span class="op">&&</span> <span class="ident">descriptor</span>.<span class="ident">script_pubkey</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">utxo</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap</span>().<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">></span>
{
<span class="prelude-val">Some</span>(<span class="ident">descriptor</span>)
}
- <span class="ident">DescriptorType</span>::<span class="ident">Bare</span> <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">Sh</span> <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShSortedMulti</span>
+ <span class="ident">DescriptorType::Bare</span> <span class="op">|</span> <span class="ident">DescriptorType::Sh</span> <span class="op">|</span> <span class="ident">DescriptorType::ShSortedMulti</span>
<span class="kw">if</span> <span class="ident">psbt_input</span>.<span class="ident">redeem_script</span>.<span class="ident">is_some</span>()
<span class="op">&&</span> <span class="kw-2">&</span><span class="ident">descriptor</span>.<span class="ident">explicit_script</span>()
<span class="op">=</span><span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">redeem_script</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">></span>
{
<span class="prelude-val">Some</span>(<span class="ident">descriptor</span>)
}
- <span class="ident">DescriptorType</span>::<span class="ident">Wsh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWsh</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">ShWshSortedMulti</span>
- <span class="op">|</span> <span class="ident">DescriptorType</span>::<span class="ident">WshSortedMulti</span>
+ <span class="ident">DescriptorType::Wsh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::ShWsh</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::ShWshSortedMulti</span>
+ <span class="op">|</span> <span class="ident">DescriptorType::WshSortedMulti</span>
<span class="kw">if</span> <span class="ident">psbt_input</span>.<span class="ident">witness_script</span>.<span class="ident">is_some</span>()
<span class="op">&&</span> <span class="kw-2">&</span><span class="ident">descriptor</span>.<span class="ident">explicit_script</span>()
<span class="op">=</span><span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">witness_script</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">></span>
<span class="kw">impl</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> <span class="ident">DerivedDescriptorMeta</span> <span class="kw">for</span> <span class="ident">DerivedDescriptor</span><span class="op"><</span><span class="lifetime">'s</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">get_hd_keypaths</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">HdKeyPaths</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
<span class="self">self</span>.<span class="ident">for_each_key</span>(<span class="op">|</span><span class="ident">key</span><span class="op">|</span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">key</span>.<span class="ident">as_key</span>().<span class="ident">deref</span>() {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span> <span class="ident">key</span>.<span class="ident">as_key</span>().<span class="ident">deref</span>() {
<span class="kw">let</span> <span class="ident">derived_pubkey</span> <span class="op">=</span> <span class="ident">xpub</span>
.<span class="ident">xkey</span>
.<span class="ident">derive_pub</span>(<span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">xpub</span>.<span class="ident">derivation_path</span>)
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">deserialize</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::{<span class="ident">bip32</span>, <span class="ident">psbt</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::consensus::encode::deserialize</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::secp256k1::Secp256k1</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util</span>::{<span class="ident">bip32</span>, <span class="ident">psbt</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">psbt</span>::<span class="ident">PsbtUtils</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::psbt::PsbtUtils</span>;
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_derive_from_psbt_input_wpkh_wif</span>() {
- <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::from_str</span>(
<span class="string">"wpkh(02b4632d08485ff1df2db55b9dafd23347d1c47a457072a1e87be26896549a8737)"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
- <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt::PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
+ <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"70736274ff010052010000000162307be8e431fbaff807cdf9cdc3fde44d7402\
11bc8342c31ffd6ec11fe35bcc0100000000ffffffff01328601000000000016\
001493ce48570b55c42c2af816aeaba06cfee1224fae000000000001011fa086\
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">descriptor</span>
- .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1</span>::<span class="ident">new</span>())
+ <span class="macro">assert!</span>(<span class="ident">descriptor</span>
+ .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1::new</span>())
.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_derive_from_psbt_input_pkh_tpub</span>() {
- <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::from_str</span>(
<span class="string">"pkh([0f056943/44h/0h/0h]tpubDDpWvmUrPZrhSPmUzCMBHffvC3HyMAPnWDSAQNBTnj1iZeJa7BZQEttFiP4DS4GCcXQHezdXhn86Hj6LHX5EDstXPWrMaSneRWM8yUf6NFd/10/*)"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
- <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt::PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
+ <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"70736274ff010053010000000145843b86be54a3cd8c9e38444e1162676c00df\
e7964122a70df491ea12fd67090100000000ffffffff01c19598000000000017\
a91432bb94283282f72b2e034709e348c44d5a4db0ef8700000000000100f902\
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">descriptor</span>
- .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1</span>::<span class="ident">new</span>())
+ <span class="macro">assert!</span>(<span class="ident">descriptor</span>
+ .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1::new</span>())
.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_derive_from_psbt_input_wsh</span>() {
- <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::from_str</span>(
<span class="string">"wsh(and_v(v:pk(03b6633fef2397a0a9de9d7b6f23aef8368a6e362b0581f0f0af70d5ecfd254b14),older(6)))"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
- <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt::PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
+ <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"70736274ff01005302000000011c8116eea34408ab6529223c9a176606742207\
67a1ff1d46a6e3c4a88243ea6e01000000000600000001109698000000000017\
a914ad105f61102e0d01d7af40d06d6a5c3ae2f7fde387000000000001012b80\
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">descriptor</span>
- .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1</span>::<span class="ident">new</span>())
+ <span class="macro">assert!</span>(<span class="ident">descriptor</span>
+ .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1::new</span>())
.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_derive_from_psbt_input_sh</span>() {
- <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">DescriptorPublicKey</span><span class="op">></span><span class="ident">::from_str</span>(
<span class="string">"sh(and_v(v:pk(021403881a5587297818fcaf17d239cefca22fce84a45b3b1d23e836c4af671dbb),after(630000)))"</span>,
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
- <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">psbt::PartiallySignedTransaction</span> <span class="op">=</span> <span class="ident">deserialize</span>(
+ <span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"70736274ff0100530100000001bc8c13df445dfadcc42afa6dc841f85d22b01d\
a6270ebf981740f4b7b1d800390000000000feffffff01ba9598000000000017\
a91457b148ba4d3e5fa8608a8657875124e3d1c9390887f09c0900000100e002\
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">descriptor</span>
- .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1</span>::<span class="ident">new</span>())
+ <span class="macro">assert!</span>(<span class="ident">descriptor</span>
+ .<span class="ident">derive_from_psbt_input</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>], <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="number">0</span>), <span class="kw-2">&</span><span class="ident">Secp256k1::new</span>())
.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_to_wallet_descriptor_fixup_networks</span>() {
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">any_network</span>, <span class="ident">IntoDescriptorKey</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">any_network</span>, <span class="ident">IntoDescriptorKey</span>};
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
- <span class="kw">let</span> <span class="ident">xpub</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">xpub</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPubKey::from_str</span>(<span class="string">"xpub6ERApfZwUNrhLCkDtcHTcxd75RbzS1ed54G1LkBUHQVHQKqhMkhgbmJbZRkrgZw4koxb5JaHWkY4ALHY2grBGRjaDMzQLcgJvLJuZZvRcEL"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/0"</span>).<span class="ident">unwrap</span>();
<span class="comment">// here `to_descriptor_key` will set the valid networks for the key to only mainnet, since</span>
<span class="comment">// we are using an "xpub"</span>
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">key</span>.<span class="ident">override_valid_networks</span>(<span class="ident">any_network</span>());
<span class="comment">// make a descriptor out of it</span>
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
<span class="comment">// this should conver the key that supports "any_network" to the right network (testnet)</span>
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet_desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh(tpubDEnoLuPdBep9bzw5LoGYpsxUQYheRQ9gcgrJhJEcdKFB9cWQRyYmkCyRoTqeD4tJYiVVgt6A3rN6rWn9RYhR9sBsGxji29LYWHuKKbdb1ev/0/*)#y8p7e8kk"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">wallet_desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh(tpubDEnoLuPdBep9bzw5LoGYpsxUQYheRQ9gcgrJhJEcdKFB9cWQRyYmkCyRoTqeD4tJYiVVgt6A3rN6rWn9RYhR9sBsGxji29LYWHuKKbdb1ev/0/*)#y8p7e8kk"</span>);
}
<span class="comment">// test IntoWalletDescriptor trait from &str with and without checksum appended</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_descriptor_from_str_with_checksum</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)#tqz0nc62"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)#67ju93jw"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)#67ju93jw"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">desc</span>.<span class="ident">err</span>(),
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorError</span>::<span class="ident">InvalidDescriptorChecksum</span>)
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorError::InvalidDescriptorChecksum</span>)
));
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)#67ju93jw"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">desc</span>.<span class="ident">err</span>(),
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorError</span>::<span class="ident">InvalidDescriptorChecksum</span>)
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorError::InvalidDescriptorChecksum</span>)
));
}
<span class="comment">// test IntoWalletDescriptor trait from &str with keys from right and wrong network</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_descriptor_from_str_with_keys_network</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Regtest</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Regtest</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Regtest</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Regtest</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"sh(wpkh(02864bb4ad00cefa806098a69e192bbda937494e69eb452b87bb3f20f6283baedb))"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"sh(wpkh(02864bb4ad00cefa806098a69e192bbda937494e69eb452b87bb3f20f6283baedb))"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Bitcoin</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Bitcoin</span>);
+ <span class="macro">assert!</span>(<span class="ident">desc</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Bitcoin</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Bitcoin</span>);
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">desc</span>.<span class="ident">err</span>(),
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorError</span>::<span class="ident">Key</span>(<span class="ident">KeyError</span>::<span class="ident">InvalidNetwork</span>))
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorError::Key</span>(<span class="ident">KeyError::InvalidNetwork</span>))
));
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)"</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Bitcoin</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Bitcoin</span>);
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">desc</span>.<span class="ident">err</span>(),
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorError</span>::<span class="ident">Key</span>(<span class="ident">KeyError</span>::<span class="ident">InvalidNetwork</span>))
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorError::Key</span>(<span class="ident">KeyError::InvalidNetwork</span>))
));
}
<span class="comment">// test IntoWalletDescriptor trait from the output of the descriptor!() macro</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_descriptor_from_str_from_output_of_macro</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
- <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/1/2"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/1/2"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> (<span class="ident">tpub</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="comment">// make a descriptor out of it</span>
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">wallet_desc_str</span> <span class="op">=</span> <span class="ident">wallet_desc</span>.<span class="ident">to_string</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet_desc_str</span>, <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)#67ju93jw"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">wallet_desc_str</span>, <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/2/*)#67ju93jw"</span>);
<span class="kw">let</span> (<span class="ident">wallet_desc2</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">wallet_desc_str</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">wallet_desc</span>, <span class="ident">wallet_desc2</span>)
+ <span class="macro">assert_eq!</span>(<span class="ident">wallet_desc</span>, <span class="ident">wallet_desc2</span>)
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_into_wallet_descriptor_checked</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/0'/1/2/*)"</span>;
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">descriptor</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">descriptor</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">result</span>.<span class="ident">unwrap_err</span>(),
- <span class="ident">DescriptorError</span>::<span class="ident">HardenedDerivationXpub</span>
+ <span class="ident">DescriptorError::HardenedDerivationXpub</span>
));
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wsh(multi(2,tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/0/*,tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/1/*))"</span>;
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">descriptor</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>);
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">descriptor</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(
<span class="ident">result</span>.<span class="ident">unwrap_err</span>(),
- <span class="ident">DescriptorError</span>::<span class="ident">DuplicatedKeys</span>
+ <span class="ident">DescriptorError::DuplicatedKeys</span>
));
}
}
<!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="Source of the Rust file `src/descriptor/policy.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>policy.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cmp</span>::<span class="ident">max</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashSet</span>, <span class="ident">VecDeque</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
+<span class="kw">use</span> <span class="ident">std::cmp::max</span>;
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashSet</span>, <span class="ident">VecDeque</span>};
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
-<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">ser</span>::<span class="ident">SerializeMap</span>;
+<span class="kw">use</span> <span class="ident">serde::ser::SerializeMap</span>;
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Serialize</span>, <span class="ident">Serializer</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="kw-2">*</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hashes</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32::Fingerprint</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::PublicKey</span>;
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">ShInner</span>, <span class="ident">SortedMultiVec</span>, <span class="ident">WshInner</span>};
+<span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">ShInner</span>, <span class="ident">SortedMultiVec</span>, <span class="ident">WshInner</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{
<span class="ident">Descriptor</span>, <span class="ident">ForEachKey</span>, <span class="ident">Miniscript</span>, <span class="ident">MiniscriptKey</span>, <span class="ident">Satisfier</span>, <span class="ident">ScriptContext</span>, <span class="ident">Terminal</span>,
<span class="ident">ToPublicKey</span>,
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{
<span class="ident">DerivedDescriptor</span>, <span class="ident">DerivedDescriptorKey</span>, <span class="ident">DescriptorMeta</span>, <span class="ident">ExtendedDescriptor</span>, <span class="ident">ExtractPolicy</span>,
};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">psbt</span>::<span class="ident">PsbtUtils</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">signer</span>::{<span class="ident">SignerId</span>, <span class="ident">SignersContainer</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::{<span class="self">self</span>, <span class="ident">SecpCtx</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::psbt::PsbtUtils</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::signer</span>::{<span class="ident">SignerId</span>, <span class="ident">SignersContainer</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils</span>::{<span class="self">self</span>, <span class="ident">SecpCtx</span>};
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">checksum</span>::<span class="ident">get_checksum</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">XKeyUtils</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">psbt</span>::<span class="ident">PsbtInputSatisfier</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::checksum::get_checksum</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::XKeyUtils</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt::PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
+<span class="kw">use</span> <span class="ident">miniscript::psbt::PsbtInputSatisfier</span>;
<span class="doccomment">/// Raw public key or extended key fingerprint</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">Default</span>, <span class="ident">Serialize</span>)]</span>
<span class="attribute">#[<span class="ident">serde</span>(<span class="ident">skip_serializing_if</span> <span class="op">=</span> <span class="string">"Option::is_none"</span>)]</span>
<span class="ident">pubkey</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">PublicKey</span><span class="op">></span>,
<span class="attribute">#[<span class="ident">serde</span>(<span class="ident">skip_serializing_if</span> <span class="op">=</span> <span class="string">"Option::is_none"</span>)]</span>
- <span class="ident">pubkey_hash</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">hash160</span>::<span class="ident">Hash</span><span class="op">></span>,
+ <span class="ident">pubkey_hash</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">hash160::Hash</span><span class="op">></span>,
<span class="attribute">#[<span class="ident">serde</span>(<span class="ident">skip_serializing_if</span> <span class="op">=</span> <span class="string">"Option::is_none"</span>)]</span>
<span class="ident">fingerprint</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Fingerprint</span><span class="op">></span>,
}
<span class="kw">impl</span> <span class="ident">PkOrF</span> {
<span class="kw">fn</span> <span class="ident">from_key</span>(<span class="ident">k</span>: <span class="kw-2">&</span><span class="ident">DescriptorPublicKey</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="kw">match</span> <span class="ident">k</span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="ident">PkOrF</span> {
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="ident">PkOrF</span> {
<span class="ident">pubkey</span>: <span class="prelude-val">Some</span>(<span class="ident">pubkey</span>.<span class="ident">key</span>),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
},
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">PkOrF</span> {
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">PkOrF</span> {
<span class="ident">fingerprint</span>: <span class="prelude-val">Some</span>(<span class="ident">xpub</span>.<span class="ident">root_fingerprint</span>(<span class="ident">secp</span>)),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
},
}
}
- <span class="kw">fn</span> <span class="ident">from_key_hash</span>(<span class="ident">k</span>: <span class="ident">hash160</span>::<span class="ident">Hash</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
+ <span class="kw">fn</span> <span class="ident">from_key_hash</span>(<span class="ident">k</span>: <span class="ident">hash160::Hash</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">PkOrF</span> {
<span class="ident">pubkey_hash</span>: <span class="prelude-val">Some</span>(<span class="ident">k</span>),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
}
}
}
<span class="doccomment">/// SHA256 preimage hash</span>
<span class="ident">Sha256Preimage</span> {
<span class="doccomment">/// The digest value</span>
- <span class="ident">hash</span>: <span class="ident">sha256</span>::<span class="ident">Hash</span>,
+ <span class="ident">hash</span>: <span class="ident">sha256::Hash</span>,
},
<span class="doccomment">/// Double SHA256 preimage hash</span>
<span class="ident">Hash256Preimage</span> {
<span class="doccomment">/// The digest value</span>
- <span class="ident">hash</span>: <span class="ident">sha256d</span>::<span class="ident">Hash</span>,
+ <span class="ident">hash</span>: <span class="ident">sha256d::Hash</span>,
},
<span class="doccomment">/// RIPEMD160 preimage hash</span>
<span class="ident">Ripemd160Preimage</span> {
<span class="doccomment">/// The digest value</span>
- <span class="ident">hash</span>: <span class="ident">ripemd160</span>::<span class="ident">Hash</span>,
+ <span class="ident">hash</span>: <span class="ident">ripemd160::Hash</span>,
},
<span class="doccomment">/// SHA256 then RIPEMD160 preimage hash</span>
<span class="ident">Hash160Preimage</span> {
<span class="doccomment">/// The digest value</span>
- <span class="ident">hash</span>: <span class="ident">hash160</span>::<span class="ident">Hash</span>,
+ <span class="ident">hash</span>: <span class="ident">hash160::Hash</span>,
},
<span class="doccomment">/// Absolute timeclock timestamp</span>
<span class="ident">AbsoluteTimelock</span> {
<span class="kw">impl</span> <span class="ident">SatisfiableItem</span> {
<span class="doccomment">/// Returns whether the [`SatisfiableItem`] is a leaf item</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">is_leaf</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="op">!</span><span class="macro">matches</span><span class="macro">!</span>(
+ <span class="op">!</span><span class="macro">matches!</span>(
<span class="self">self</span>,
- <span class="ident">SatisfiableItem</span>::<span class="ident">Thresh</span> {
+ <span class="ident">SatisfiableItem::Thresh</span> {
<span class="ident">items</span>: <span class="kw">_</span>,
<span class="ident">threshold</span>: <span class="kw">_</span>,
}
<span class="doccomment">/// Returns a unique id for the [`SatisfiableItem`]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">id</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">String</span> {
- <span class="ident">get_checksum</span>(<span class="kw-2">&</span><span class="ident">serde_json</span>::<span class="ident">to_string</span>(<span class="self">self</span>).<span class="ident">expect</span>(<span class="string">"Failed to serialize a SatisfiableItem"</span>))
+ <span class="ident">get_checksum</span>(<span class="kw-2">&</span><span class="ident">serde_json::to_string</span>(<span class="self">self</span>).<span class="ident">expect</span>(<span class="string">"Failed to serialize a SatisfiableItem"</span>))
.<span class="ident">expect</span>(<span class="string">"Failed to compute a SatisfiableItem id"</span>)
}
}
<span class="kw">fn</span> <span class="ident">combinations</span>(<span class="ident">vec</span>: <span class="kw-2">&</span>[<span class="ident">usize</span>], <span class="ident">size</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span><span class="op">></span> {
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">vec</span>.<span class="ident">len</span>() <span class="op">></span><span class="op">=</span> <span class="ident">size</span>);
+ <span class="macro">assert!</span>(<span class="ident">vec</span>.<span class="ident">len</span>() <span class="op">></span><span class="op">=</span> <span class="ident">size</span>);
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">queue</span> <span class="op">=</span> <span class="ident">VecDeque</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">queue</span> <span class="op">=</span> <span class="ident">VecDeque::new</span>();
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">val</span>) <span class="kw">in</span> <span class="ident">vec</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">new_vec</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">size</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">new_vec</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">size</span>);
<span class="ident">new_vec</span>.<span class="ident">push</span>(<span class="kw-2">*</span><span class="ident">val</span>);
<span class="ident">queue</span>.<span class="ident">push_back</span>((<span class="ident">index</span>, <span class="ident">new_vec</span>));
}
}
<span class="kw">fn</span> <span class="ident">mix</span><span class="op"><</span><span class="ident">T</span>: <span class="ident">Clone</span><span class="op">></span>(<span class="ident">vec</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">T</span><span class="op">></span><span class="op">></span> {
- <span class="kw">if</span> <span class="ident">vec</span>.<span class="ident">is_empty</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">vec</span>.<span class="ident">iter</span>().<span class="ident">any</span>(<span class="ident">Vec</span>::<span class="ident">is_empty</span>) {
- <span class="kw">return</span> <span class="macro">vec</span><span class="macro">!</span>[];
+ <span class="kw">if</span> <span class="ident">vec</span>.<span class="ident">is_empty</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">vec</span>.<span class="ident">iter</span>().<span class="ident">any</span>(<span class="ident">Vec::is_empty</span>) {
+ <span class="kw">return</span> <span class="macro">vec!</span>[];
}
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">answer</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">let</span> <span class="ident">size</span> <span class="op">=</span> <span class="ident">vec</span>.<span class="ident">len</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">queue</span> <span class="op">=</span> <span class="ident">VecDeque</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">queue</span> <span class="op">=</span> <span class="ident">VecDeque::new</span>();
<span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="ident">vec</span>[<span class="number">0</span>] {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">new_vec</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">size</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">new_vec</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">size</span>);
<span class="ident">new_vec</span>.<span class="ident">push</span>(<span class="ident">i</span>.<span class="ident">clone</span>());
<span class="ident">queue</span>.<span class="ident">push_back</span>(<span class="ident">new_vec</span>);
}
<span class="kw">fn</span> <span class="ident">serialize_folded_cond_map</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>(
<span class="ident">input_map</span>: <span class="kw-2">&</span><span class="ident">FoldedConditionMap</span>,
<span class="ident">serializer</span>: <span class="ident">S</span>,
-) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S</span>::<span class="prelude-val">Ok</span>, <span class="ident">S</span>::<span class="ident">Error</span><span class="op">></span>
+) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">S::Ok</span>, <span class="ident">S::Error</span><span class="op">></span>
<span class="kw">where</span>
<span class="ident">S</span>: <span class="ident">Serializer</span>,
{
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">serializer</span>.<span class="ident">serialize_map</span>(<span class="prelude-val">Some</span>(<span class="ident">input_map</span>.<span class="ident">len</span>()))<span class="question-mark">?</span>;
<span class="kw">for</span> (<span class="ident">k</span>, <span class="ident">v</span>) <span class="kw">in</span> <span class="ident">input_map</span> {
- <span class="kw">let</span> <span class="ident">k_string</span> <span class="op">=</span> <span class="macro">format</span><span class="macro">!</span>(<span class="string">"{:?}"</span>, <span class="ident">k</span>);
+ <span class="kw">let</span> <span class="ident">k_string</span> <span class="op">=</span> <span class="macro">format!</span>(<span class="string">"{:?}"</span>, <span class="ident">k</span>);
<span class="ident">map</span>.<span class="ident">serialize_entry</span>(<span class="kw-2">&</span><span class="ident">k_string</span>, <span class="ident">v</span>)<span class="question-mark">?</span>;
}
<span class="ident">map</span>.<span class="ident">end</span>()
<span class="doccomment">/// Returns whether the [`Satisfaction`] is a leaf item</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">is_leaf</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span> <span class="op">|</span> <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
- <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { .. } <span class="op">|</span> <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { .. } <span class="op">=</span><span class="op">></span> <span class="bool-val">false</span>,
+ <span class="ident">Satisfaction::None</span> <span class="op">|</span> <span class="ident">Satisfaction::Complete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
+ <span class="ident">Satisfaction::PartialComplete</span> { .. } <span class="op">|</span> <span class="ident">Satisfaction::Partial</span> { .. } <span class="op">=</span><span class="op">></span> <span class="bool-val">false</span>,
}
}
<span class="comment">// add `inner` as one of self's partial items. this only makes sense on partials</span>
<span class="kw">fn</span> <span class="ident">add</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">inner</span>: <span class="kw-2">&</span><span class="ident">Satisfaction</span>, <span class="ident">inner_index</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">PolicyError</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span> <span class="op">|</span> <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">AddOnLeaf</span>),
- <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">AddOnPartialComplete</span>),
- <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> {
+ <span class="ident">Satisfaction::None</span> <span class="op">|</span> <span class="ident">Satisfaction::Complete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::AddOnLeaf</span>),
+ <span class="ident">Satisfaction::PartialComplete</span> { .. } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::AddOnPartialComplete</span>),
+ <span class="ident">Satisfaction::Partial</span> {
<span class="ident">n</span>,
<span class="kw-2">ref</span> <span class="kw-2">mut</span> <span class="ident">conditions</span>,
<span class="kw-2">ref</span> <span class="kw-2">mut</span> <span class="ident">items</span>,
..
} <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">inner_index</span> <span class="op">></span><span class="op">=</span> <span class="kw-2">*</span><span class="ident">n</span> <span class="op">|</span><span class="op">|</span> <span class="ident">items</span>.<span class="ident">contains</span>(<span class="kw-2">&</span><span class="ident">inner_index</span>) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">IndexOutOfRange</span>(<span class="ident">inner_index</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::IndexOutOfRange</span>(<span class="ident">inner_index</span>));
}
<span class="kw">match</span> <span class="ident">inner</span> {
<span class="comment">// not relevant if not completed yet</span>
- <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span> <span class="op">|</span> <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { .. } <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> { <span class="ident">condition</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">Satisfaction::None</span> <span class="op">|</span> <span class="ident">Satisfaction::Partial</span> { .. } <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">Satisfaction::Complete</span> { <span class="ident">condition</span> } <span class="op">=</span><span class="op">></span> {
<span class="ident">items</span>.<span class="ident">push</span>(<span class="ident">inner_index</span>);
- <span class="ident">conditions</span>.<span class="ident">insert</span>(<span class="ident">inner_index</span>, <span class="macro">vec</span><span class="macro">!</span>[<span class="kw-2">*</span><span class="ident">condition</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="ident">conditions</span>.<span class="ident">insert</span>(<span class="ident">inner_index</span>, <span class="macro">vec!</span>[<span class="kw-2">*</span><span class="ident">condition</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
}
- <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> {
+ <span class="ident">Satisfaction::PartialComplete</span> {
<span class="ident">conditions</span>: <span class="ident">other_conditions</span>,
..
} <span class="op">=</span><span class="op">></span> {
<span class="ident">items</span>.<span class="ident">push</span>(<span class="ident">inner_index</span>);
<span class="kw">let</span> <span class="ident">conditions_set</span> <span class="op">=</span> <span class="ident">other_conditions</span>
.<span class="ident">values</span>()
- .<span class="ident">fold</span>(<span class="ident">HashSet</span>::<span class="ident">new</span>(), <span class="op">|</span><span class="ident">set</span>, <span class="ident">i</span><span class="op">|</span> <span class="ident">set</span>.<span class="ident">union</span>(<span class="kw-2">&</span><span class="ident">i</span>).<span class="ident">cloned</span>().<span class="ident">collect</span>());
+ .<span class="ident">fold</span>(<span class="ident">HashSet::new</span>(), <span class="op">|</span><span class="ident">set</span>, <span class="ident">i</span><span class="op">|</span> <span class="ident">set</span>.<span class="ident">union</span>(<span class="kw-2">&</span><span class="ident">i</span>).<span class="ident">cloned</span>().<span class="ident">collect</span>());
<span class="ident">conditions</span>.<span class="ident">insert</span>(<span class="ident">inner_index</span>, <span class="ident">conditions_set</span>);
}
}
<span class="kw">fn</span> <span class="ident">finalize</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="comment">// if partial try to bump it to a partialcomplete</span>
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">Satisfaction::Partial</span> {
<span class="ident">n</span>,
<span class="ident">m</span>,
<span class="ident">items</span>,
} <span class="op">=</span> <span class="self">self</span>
{
<span class="kw">if</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">></span><span class="op">=</span> <span class="kw-2">*</span><span class="ident">m</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">BTreeMap::new</span>();
<span class="kw">let</span> <span class="ident">indexes</span> <span class="op">=</span> <span class="ident">combinations</span>(<span class="ident">items</span>, <span class="kw-2">*</span><span class="ident">m</span>);
<span class="comment">// `indexes` at this point is a Vec<Vec<usize>>, with the "n choose k" of items (m of n)</span>
<span class="ident">indexes</span>
(
<span class="ident">key</span>,
<span class="ident">val</span>.<span class="ident">into_iter</span>()
- .<span class="ident">try_fold</span>(<span class="ident">Condition</span>::<span class="ident">default</span>(), <span class="op">|</span><span class="ident">acc</span>, <span class="ident">v</span><span class="op">|</span> <span class="ident">acc</span>.<span class="ident">merge</span>(<span class="kw-2">&</span><span class="ident">v</span>)),
+ .<span class="ident">try_fold</span>(<span class="ident">Condition::default</span>(), <span class="op">|</span><span class="ident">acc</span>, <span class="ident">v</span><span class="op">|</span> <span class="ident">acc</span>.<span class="ident">merge</span>(<span class="kw-2">&</span><span class="ident">v</span>)),
)
})
<span class="comment">// .inspect(|x| println!("try_fold {:?}", x))</span>
<span class="comment">// push them into the map</span>
.<span class="ident">for_each</span>(<span class="op">|</span>(<span class="ident">key</span>, <span class="ident">val</span>)<span class="op">|</span> {
<span class="ident">map</span>.<span class="ident">entry</span>(<span class="ident">key</span>)
- .<span class="ident">or_insert_with</span>(<span class="ident">HashSet</span>::<span class="ident">new</span>)
+ .<span class="ident">or_insert_with</span>(<span class="ident">HashSet::new</span>)
.<span class="ident">insert</span>(<span class="ident">val</span>.<span class="ident">unwrap</span>());
});
<span class="comment">// TODO: if the map is empty, the conditions are not compatible, return an error?</span>
- <span class="kw-2">*</span><span class="self">self</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> {
+ <span class="kw-2">*</span><span class="self">self</span> <span class="op">=</span> <span class="ident">Satisfaction::PartialComplete</span> {
<span class="ident">n</span>: <span class="kw-2">*</span><span class="ident">n</span>,
<span class="ident">m</span>: <span class="kw-2">*</span><span class="ident">m</span>,
<span class="ident">items</span>: <span class="ident">items</span>.<span class="ident">clone</span>(),
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">bool</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Satisfaction</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">other</span>: <span class="ident">bool</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="kw">if</span> <span class="ident">other</span> {
- <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
- <span class="ident">condition</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">Satisfaction::Complete</span> {
+ <span class="ident">condition</span>: <span class="ident">Default::default</span>(),
}
} <span class="kw">else</span> {
- <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>
+ <span class="ident">Satisfaction::None</span>
}
}
}
<span class="kw">impl</span> <span class="ident">Condition</span> {
<span class="kw">fn</span> <span class="ident">merge_nlocktime</span>(<span class="ident">a</span>: <span class="ident">u32</span>, <span class="ident">b</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">PolicyError</span><span class="op">></span> {
- <span class="kw">if</span> (<span class="ident">a</span> <span class="op"><</span> <span class="ident">utils</span>::<span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span>) <span class="op">!</span><span class="op">=</span> (<span class="ident">b</span> <span class="op"><</span> <span class="ident">utils</span>::<span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span>) {
- <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">MixedTimelockUnits</span>)
+ <span class="kw">if</span> (<span class="ident">a</span> <span class="op"><</span> <span class="ident">utils::BLOCKS_TIMELOCK_THRESHOLD</span>) <span class="op">!</span><span class="op">=</span> (<span class="ident">b</span> <span class="op"><</span> <span class="ident">utils::BLOCKS_TIMELOCK_THRESHOLD</span>) {
+ <span class="prelude-val">Err</span>(<span class="ident">PolicyError::MixedTimelockUnits</span>)
} <span class="kw">else</span> {
<span class="prelude-val">Ok</span>(<span class="ident">max</span>(<span class="ident">a</span>, <span class="ident">b</span>))
}
}
<span class="kw">fn</span> <span class="ident">merge_nsequence</span>(<span class="ident">a</span>: <span class="ident">u32</span>, <span class="ident">b</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">u32</span>, <span class="ident">PolicyError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">mask</span> <span class="op">=</span> <span class="ident">utils</span>::<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span> <span class="op">|</span> <span class="ident">utils</span>::<span class="ident">SEQUENCE_LOCKTIME_MASK</span>;
+ <span class="kw">let</span> <span class="ident">mask</span> <span class="op">=</span> <span class="ident">utils::SEQUENCE_LOCKTIME_TYPE_FLAG</span> <span class="op">|</span> <span class="ident">utils::SEQUENCE_LOCKTIME_MASK</span>;
<span class="kw">let</span> <span class="ident">a</span> <span class="op">=</span> <span class="ident">a</span> <span class="op">&</span> <span class="ident">mask</span>;
<span class="kw">let</span> <span class="ident">b</span> <span class="op">=</span> <span class="ident">b</span> <span class="op">&</span> <span class="ident">mask</span>;
- <span class="kw">if</span> (<span class="ident">a</span> <span class="op"><</span> <span class="ident">utils</span>::<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span>) <span class="op">!</span><span class="op">=</span> (<span class="ident">b</span> <span class="op"><</span> <span class="ident">utils</span>::<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span>) {
- <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">MixedTimelockUnits</span>)
+ <span class="kw">if</span> (<span class="ident">a</span> <span class="op"><</span> <span class="ident">utils::SEQUENCE_LOCKTIME_TYPE_FLAG</span>) <span class="op">!</span><span class="op">=</span> (<span class="ident">b</span> <span class="op"><</span> <span class="ident">utils::SEQUENCE_LOCKTIME_TYPE_FLAG</span>) {
+ <span class="prelude-val">Err</span>(<span class="ident">PolicyError::MixedTimelockUnits</span>)
} <span class="kw">else</span> {
<span class="prelude-val">Ok</span>(<span class="ident">max</span>(<span class="ident">a</span>, <span class="ident">b</span>))
}
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">merge</span>(<span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">other</span>: <span class="kw-2">&</span><span class="ident">Condition</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">PolicyError</span><span class="op">></span> {
<span class="kw">match</span> (<span class="self">self</span>.<span class="ident">csv</span>, <span class="ident">other</span>.<span class="ident">csv</span>) {
- (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">csv</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="self">Self</span>::<span class="ident">merge_nsequence</span>(<span class="ident">a</span>, <span class="ident">b</span>)<span class="question-mark">?</span>),
+ (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">csv</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="self">Self</span><span class="ident">::merge_nsequence</span>(<span class="ident">a</span>, <span class="ident">b</span>)<span class="question-mark">?</span>),
(<span class="prelude-val">None</span>, <span class="ident">any</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">csv</span> <span class="op">=</span> <span class="ident">any</span>,
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> {}
}
<span class="kw">match</span> (<span class="self">self</span>.<span class="ident">timelock</span>, <span class="ident">other</span>.<span class="ident">timelock</span>) {
- (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">timelock</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="self">Self</span>::<span class="ident">merge_nlocktime</span>(<span class="ident">a</span>, <span class="ident">b</span>)<span class="question-mark">?</span>),
+ (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">timelock</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="self">Self</span><span class="ident">::merge_nlocktime</span>(<span class="ident">a</span>, <span class="ident">b</span>)<span class="question-mark">?</span>),
(<span class="prelude-val">None</span>, <span class="ident">any</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">timelock</span> <span class="op">=</span> <span class="ident">any</span>,
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> {}
}
<span class="ident">IncompatibleConditions</span>,
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">PolicyError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">PolicyError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">PolicyError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">PolicyError</span> {}
<span class="kw">impl</span> <span class="ident">Policy</span> {
<span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">item</span>: <span class="ident">SatisfiableItem</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">Policy</span> {
<span class="ident">id</span>: <span class="ident">item</span>.<span class="ident">id</span>(),
<span class="ident">item</span>,
- <span class="ident">satisfaction</span>: <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>,
- <span class="ident">contribution</span>: <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>,
+ <span class="ident">satisfaction</span>: <span class="ident">Satisfaction::None</span>,
+ <span class="ident">contribution</span>: <span class="ident">Satisfaction::None</span>,
}
}
<span class="kw">match</span> (<span class="ident">a</span>, <span class="ident">b</span>) {
(<span class="prelude-val">None</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
(<span class="prelude-val">Some</span>(<span class="ident">x</span>), <span class="prelude-val">None</span>) <span class="op">|</span> (<span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="ident">x</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">x</span>)),
- (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">make_thresh</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">a</span>, <span class="ident">b</span>], <span class="number">2</span>),
+ (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">Self</span><span class="ident">::make_thresh</span>(<span class="macro">vec!</span>[<span class="ident">a</span>, <span class="ident">b</span>], <span class="number">2</span>),
}
}
<span class="kw">match</span> (<span class="ident">a</span>, <span class="ident">b</span>) {
(<span class="prelude-val">None</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
(<span class="prelude-val">Some</span>(<span class="ident">x</span>), <span class="prelude-val">None</span>) <span class="op">|</span> (<span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="ident">x</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">x</span>)),
- (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">Self</span>::<span class="ident">make_thresh</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="ident">a</span>, <span class="ident">b</span>], <span class="number">1</span>),
+ (<span class="prelude-val">Some</span>(<span class="ident">a</span>), <span class="prelude-val">Some</span>(<span class="ident">b</span>)) <span class="op">=</span><span class="op">></span> <span class="self">Self</span><span class="ident">::make_thresh</span>(<span class="macro">vec!</span>[<span class="ident">a</span>, <span class="ident">b</span>], <span class="number">1</span>),
}
}
<span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
}
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction::Partial</span> {
<span class="ident">n</span>: <span class="ident">items</span>.<span class="ident">len</span>(),
<span class="ident">m</span>: <span class="ident">threshold</span>,
- <span class="ident">items</span>: <span class="macro">vec</span><span class="macro">!</span>[],
- <span class="ident">conditions</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">items</span>: <span class="macro">vec!</span>[],
+ <span class="ident">conditions</span>: <span class="ident">Default::default</span>(),
<span class="ident">sorted</span>: <span class="prelude-val">None</span>,
};
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">item</span>) <span class="kw">in</span> <span class="ident">items</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
}
<span class="ident">contribution</span>.<span class="ident">finalize</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> }.<span class="ident">into</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> }.<span class="ident">into</span>();
<span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">contribution</span>;
<span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">policy</span>))
<span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
}
- <span class="kw">let</span> <span class="ident">parsed_keys</span> <span class="op">=</span> <span class="ident">keys</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">k</span><span class="op">|</span> <span class="ident">PkOrF</span>::<span class="ident">from_key</span>(<span class="ident">k</span>, <span class="ident">secp</span>)).<span class="ident">collect</span>();
+ <span class="kw">let</span> <span class="ident">parsed_keys</span> <span class="op">=</span> <span class="ident">keys</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">k</span><span class="op">|</span> <span class="ident">PkOrF::from_key</span>(<span class="ident">k</span>, <span class="ident">secp</span>)).<span class="ident">collect</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction::Partial</span> {
<span class="ident">n</span>: <span class="ident">keys</span>.<span class="ident">len</span>(),
<span class="ident">m</span>: <span class="ident">threshold</span>,
- <span class="ident">items</span>: <span class="macro">vec</span><span class="macro">!</span>[],
- <span class="ident">conditions</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">items</span>: <span class="macro">vec!</span>[],
+ <span class="ident">conditions</span>: <span class="ident">Default::default</span>(),
<span class="ident">sorted</span>: <span class="prelude-val">Some</span>(<span class="ident">sorted</span>),
};
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">key</span>) <span class="kw">in</span> <span class="ident">keys</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
<span class="kw">if</span> <span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">signer_id</span>(<span class="ident">key</span>, <span class="ident">secp</span>)).<span class="ident">is_some</span>() {
<span class="ident">contribution</span>.<span class="ident">add</span>(
- <span class="kw-2">&</span><span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
- <span class="ident">condition</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="kw-2">&</span><span class="ident">Satisfaction::Complete</span> {
+ <span class="ident">condition</span>: <span class="ident">Default::default</span>(),
},
<span class="ident">index</span>,
)<span class="question-mark">?</span>;
}
<span class="ident">contribution</span>.<span class="ident">finalize</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">Multisig</span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::Multisig</span> {
<span class="ident">keys</span>: <span class="ident">parsed_keys</span>,
<span class="ident">threshold</span>,
}
<span class="doccomment">/// the tree it intends to satisfy while signing, because the transaction must be created differently based</span>
<span class="doccomment">/// on that.</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">requires_path</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="self">self</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="ident">BTreeMap</span>::<span class="ident">new</span>()).<span class="ident">is_err</span>()
+ <span class="self">self</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="ident">BTreeMap::new</span>()).<span class="ident">is_err</span>()
}
<span class="doccomment">/// Return the conditions that are set by the spending policy for a given path in the</span>
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Condition</span>, <span class="ident">PolicyError</span><span class="op">></span> {
<span class="comment">// if items.len() == threshold, selected can be omitted and we take all of them by default</span>
<span class="kw">let</span> <span class="ident">default</span> <span class="op">=</span> <span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">item</span> {
- <span class="ident">SatisfiableItem</span>::<span class="ident">Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="kw-2">*</span><span class="ident">threshold</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">SatisfiableItem::Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="kw-2">*</span><span class="ident">threshold</span> <span class="op">=</span><span class="op">></span> {
(<span class="number">0</span>..<span class="kw-2">*</span><span class="ident">threshold</span>).<span class="ident">collect</span>()
}
- <span class="ident">SatisfiableItem</span>::<span class="ident">Multisig</span> { <span class="ident">keys</span>, .. } <span class="op">=</span><span class="op">></span> (<span class="number">0</span>..<span class="ident">keys</span>.<span class="ident">len</span>()).<span class="ident">collect</span>(),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="ident">SatisfiableItem::Multisig</span> { <span class="ident">keys</span>, .. } <span class="op">=</span><span class="op">></span> (<span class="number">0</span>..<span class="ident">keys</span>.<span class="ident">len</span>()).<span class="ident">collect</span>(),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[],
};
<span class="kw">let</span> <span class="ident">selected</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">path</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">id</span>) {
<span class="prelude-val">Some</span>(<span class="ident">arr</span>) <span class="op">=</span><span class="op">></span> <span class="ident">arr</span>,
};
<span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">item</span> {
- <span class="ident">SatisfiableItem</span>::<span class="ident">Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">SatisfiableItem::Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">mapped_req</span> <span class="op">=</span> <span class="ident">items</span>
.<span class="ident">iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">i</span><span class="op">|</span> <span class="ident">i</span>.<span class="ident">get_condition</span>(<span class="ident">path</span>))
<span class="comment">// if all the requirements are null we don't care about `selected` because there</span>
<span class="comment">// are no requirements</span>
- <span class="kw">if</span> <span class="ident">mapped_req</span>.<span class="ident">iter</span>().<span class="ident">all</span>(<span class="ident">Condition</span>::<span class="ident">is_null</span>) {
- <span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>());
+ <span class="kw">if</span> <span class="ident">mapped_req</span>.<span class="ident">iter</span>().<span class="ident">all</span>(<span class="ident">Condition::is_null</span>) {
+ <span class="kw">return</span> <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>());
}
<span class="comment">// if we have something, make sure we have enough items. note that the user can set</span>
<span class="comment">// an empty value for this step in case of n-of-n, because `selected` is set to all</span>
<span class="comment">// the elements above</span>
<span class="kw">if</span> <span class="ident">selected</span>.<span class="ident">len</span>() <span class="op"><</span> <span class="kw-2">*</span><span class="ident">threshold</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">NotEnoughItemsSelected</span>(<span class="self">self</span>.<span class="ident">id</span>.<span class="ident">clone</span>()));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::NotEnoughItemsSelected</span>(<span class="self">self</span>.<span class="ident">id</span>.<span class="ident">clone</span>()));
}
<span class="comment">// check the selected items, see if there are conflicting requirements</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">requirements</span> <span class="op">=</span> <span class="ident">Condition</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">requirements</span> <span class="op">=</span> <span class="ident">Condition::default</span>();
<span class="kw">for</span> <span class="ident">item_index</span> <span class="kw">in</span> <span class="ident">selected</span> {
<span class="ident">requirements</span> <span class="op">=</span> <span class="ident">requirements</span>.<span class="ident">merge</span>(
<span class="ident">mapped_req</span>
.<span class="ident">get</span>(<span class="kw-2">*</span><span class="ident">item_index</span>)
- .<span class="ident">ok_or</span>(<span class="ident">PolicyError</span>::<span class="ident">IndexOutOfRange</span>(<span class="kw-2">*</span><span class="ident">item_index</span>))<span class="question-mark">?</span>,
+ .<span class="ident">ok_or</span>(<span class="ident">PolicyError::IndexOutOfRange</span>(<span class="kw-2">*</span><span class="ident">item_index</span>))<span class="question-mark">?</span>,
)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="ident">requirements</span>)
}
- <span class="ident">SatisfiableItem</span>::<span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="op">=</span><span class="op">></span> {
+ <span class="ident">SatisfiableItem::Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">selected</span>.<span class="ident">len</span>() <span class="op"><</span> <span class="kw-2">*</span><span class="ident">threshold</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">NotEnoughItemsSelected</span>(<span class="self">self</span>.<span class="ident">id</span>.<span class="ident">clone</span>()));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::NotEnoughItemsSelected</span>(<span class="self">self</span>.<span class="ident">id</span>.<span class="ident">clone</span>()));
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">item</span>) <span class="op">=</span> <span class="ident">selected</span>.<span class="ident">iter</span>().<span class="ident">find</span>(<span class="op">|</span><span class="ident">i</span><span class="op">|</span> <span class="kw-2">*</span><span class="kw-2">*</span><span class="ident">i</span> <span class="op">></span><span class="op">=</span> <span class="ident">keys</span>.<span class="ident">len</span>()) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">IndexOutOfRange</span>(<span class="kw-2">*</span><span class="ident">item</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">PolicyError::IndexOutOfRange</span>(<span class="kw-2">*</span><span class="ident">item</span>));
}
- <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>())
+ <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>())
}
- <span class="ident">SatisfiableItem</span>::<span class="ident">AbsoluteTimelock</span> { <span class="ident">value</span> } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span> {
+ <span class="ident">SatisfiableItem::AbsoluteTimelock</span> { <span class="ident">value</span> } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span> {
<span class="ident">csv</span>: <span class="prelude-val">None</span>,
<span class="ident">timelock</span>: <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">value</span>),
}),
- <span class="ident">SatisfiableItem</span>::<span class="ident">RelativeTimelock</span> { <span class="ident">value</span> } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span> {
+ <span class="ident">SatisfiableItem::RelativeTimelock</span> { <span class="ident">value</span> } <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span> {
<span class="ident">csv</span>: <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">value</span>),
<span class="ident">timelock</span>: <span class="prelude-val">None</span>,
}),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>()),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>()),
}
}
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
<span class="comment">// Start from an empty Satisfaction (like a contribution without signers)</span>
- <span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">desc</span>.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">SignersContainer</span>::<span class="ident">default</span>(), <span class="kw-2">&</span><span class="ident">secp</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">desc</span>.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">SignersContainer::default</span>(), <span class="kw-2">&</span><span class="ident">secp</span>)<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">policy</span>) <span class="op">=</span> <span class="ident">policy</span> {
<span class="self">self</span>.<span class="ident">satisfaction</span> <span class="op">=</span> <span class="ident">policy</span>.<span class="ident">contribution</span>;
<span class="kw">for</span> (<span class="ident">i</span>, <span class="ident">input</span>) <span class="kw">in</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
- <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">PsbtInputSatisfier</span>::<span class="ident">new</span>(<span class="ident">psbt</span>, <span class="ident">i</span>);
+ <span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">PsbtInputSatisfier::new</span>(<span class="ident">psbt</span>, <span class="ident">i</span>);
<span class="kw">let</span> <span class="ident">derived_desc</span> <span class="op">=</span> <span class="ident">desc</span>.<span class="ident">derive_from_psbt_input</span>(<span class="ident">input</span>, <span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="ident">i</span>), <span class="ident">secp</span>);
<span class="self">self</span>.<span class="ident">add_satisfaction</span>(<span class="ident">s</span>, <span class="ident">derived_desc</span>);
}
<span class="prelude-val">Ok</span>(())
}
- <span class="kw">fn</span> <span class="ident">add_satisfaction</span><span class="op"><</span><span class="ident">S</span>: <span class="ident">Satisfier</span><span class="op"><</span><span class="ident">bitcoin</span>::<span class="ident">PublicKey</span><span class="op">></span><span class="op">></span>(
+ <span class="kw">fn</span> <span class="ident">add_satisfaction</span><span class="op"><</span><span class="ident">S</span>: <span class="ident">Satisfier</span><span class="op"><</span><span class="ident">bitcoin::PublicKey</span><span class="op">></span><span class="op">></span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">satisfier</span>: <span class="ident">S</span>,
<span class="ident">derived_desc</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DerivedDescriptor</span><span class="op">></span>,
<span class="kw">if</span> <span class="ident">satisfier</span>.<span class="ident">lookup_sig</span>(<span class="kw-2">&</span><span class="ident">k</span>.<span class="ident">as_key</span>().<span class="ident">to_public_key</span>()).<span class="ident">is_some</span>() {
<span class="comment">//TODO check signature verifies</span>
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">satisfaction</span>.<span class="ident">add</span>(
- <span class="kw-2">&</span><span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
- <span class="ident">condition</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="kw-2">&</span><span class="ident">Satisfaction::Complete</span> {
+ <span class="ident">condition</span>: <span class="ident">Default::default</span>(),
},
<span class="ident">index</span>,
);
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">SatisfiableItem</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Policy</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">other</span>: <span class="ident">SatisfiableItem</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="self">Self</span>::<span class="ident">new</span>(<span class="ident">other</span>)
+ <span class="self">Self</span><span class="ident">::new</span>(<span class="ident">other</span>)
}
}
<span class="kw">fn</span> <span class="ident">signer_id</span>(<span class="ident">key</span>: <span class="kw-2">&</span><span class="ident">DescriptorPublicKey</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
<span class="kw">match</span> <span class="ident">key</span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="ident">pubkey</span>.<span class="ident">key</span>.<span class="ident">to_pubkeyhash</span>().<span class="ident">into</span>(),
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">xpub</span>.<span class="ident">root_fingerprint</span>(<span class="ident">secp</span>).<span class="ident">into</span>(),
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="ident">pubkey</span>.<span class="ident">key</span>.<span class="ident">to_pubkeyhash</span>().<span class="ident">into</span>(),
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">xpub</span>) <span class="op">=</span><span class="op">></span> <span class="ident">xpub</span>.<span class="ident">root_fingerprint</span>(<span class="ident">secp</span>).<span class="ident">into</span>(),
}
}
<span class="kw">fn</span> <span class="ident">signature</span>(<span class="ident">key</span>: <span class="kw-2">&</span><span class="ident">DescriptorPublicKey</span>, <span class="ident">signers</span>: <span class="kw-2">&</span><span class="ident">SignersContainer</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Policy</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">Signature</span>(<span class="ident">PkOrF</span>::<span class="ident">from_key</span>(<span class="ident">key</span>, <span class="ident">secp</span>)).<span class="ident">into</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::Signature</span>(<span class="ident">PkOrF::from_key</span>(<span class="ident">key</span>, <span class="ident">secp</span>)).<span class="ident">into</span>();
<span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">signer_id</span>(<span class="ident">key</span>, <span class="ident">secp</span>)).<span class="ident">is_some</span>() {
- <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
- <span class="ident">condition</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">Satisfaction::Complete</span> {
+ <span class="ident">condition</span>: <span class="ident">Default::default</span>(),
}
} <span class="kw">else</span> {
- <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>
+ <span class="ident">Satisfaction::None</span>
};
<span class="ident">policy</span>
}
<span class="kw">fn</span> <span class="ident">signature_key</span>(
- <span class="ident">key</span>: <span class="kw-2">&</span><span class="op"><</span><span class="ident">DescriptorPublicKey</span> <span class="kw">as</span> <span class="ident">MiniscriptKey</span><span class="op">></span>::<span class="ident">Hash</span>,
+ <span class="ident">key</span>: <span class="kw-2">&</span><span class="op"><</span><span class="ident">DescriptorPublicKey</span> <span class="kw">as</span> <span class="ident">MiniscriptKey</span><span class="op">></span><span class="ident">::Hash</span>,
<span class="ident">signers</span>: <span class="kw-2">&</span><span class="ident">SignersContainer</span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="ident">Policy</span> {
- <span class="kw">let</span> <span class="ident">key_hash</span> <span class="op">=</span> <span class="ident">DerivedDescriptorKey</span>::<span class="ident">new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>)
+ <span class="kw">let</span> <span class="ident">key_hash</span> <span class="op">=</span> <span class="ident">DerivedDescriptorKey::new</span>(<span class="ident">key</span>.<span class="ident">clone</span>(), <span class="ident">secp</span>)
.<span class="ident">to_public_key</span>()
.<span class="ident">to_pubkeyhash</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">Signature</span>(<span class="ident">PkOrF</span>::<span class="ident">from_key_hash</span>(<span class="ident">key_hash</span>)).<span class="ident">into</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::Signature</span>(<span class="ident">PkOrF::from_key_hash</span>(<span class="ident">key_hash</span>)).<span class="ident">into</span>();
- <span class="kw">if</span> <span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">SignerId</span>::<span class="ident">PkHash</span>(<span class="ident">key_hash</span>)).<span class="ident">is_some</span>() {
- <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
- <span class="ident">condition</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="kw">if</span> <span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">SignerId::PkHash</span>(<span class="ident">key_hash</span>)).<span class="ident">is_some</span>() {
+ <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction::Complete</span> {
+ <span class="ident">condition</span>: <span class="ident">Default::default</span>(),
}
}
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Policy</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">node</span> {
<span class="comment">// Leaves</span>
- <span class="ident">Terminal</span>::<span class="ident">True</span> <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">False</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
- <span class="ident">Terminal</span>::<span class="ident">PkK</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pubkey</span>, <span class="ident">signers</span>, <span class="ident">secp</span>)),
- <span class="ident">Terminal</span>::<span class="ident">PkH</span>(<span class="ident">pubkey_hash</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">signature_key</span>(<span class="ident">pubkey_hash</span>, <span class="ident">signers</span>, <span class="ident">secp</span>)),
- <span class="ident">Terminal</span>::<span class="ident">After</span>(<span class="ident">value</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">AbsoluteTimelock</span> { <span class="ident">value</span>: <span class="kw-2">*</span><span class="ident">value</span> }.<span class="ident">into</span>();
- <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
+ <span class="ident">Terminal::True</span> <span class="op">|</span> <span class="ident">Terminal::False</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
+ <span class="ident">Terminal::PkK</span>(<span class="ident">pubkey</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pubkey</span>, <span class="ident">signers</span>, <span class="ident">secp</span>)),
+ <span class="ident">Terminal::PkH</span>(<span class="ident">pubkey_hash</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">signature_key</span>(<span class="ident">pubkey_hash</span>, <span class="ident">signers</span>, <span class="ident">secp</span>)),
+ <span class="ident">Terminal::After</span>(<span class="ident">value</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::AbsoluteTimelock</span> { <span class="ident">value</span>: <span class="kw-2">*</span><span class="ident">value</span> }.<span class="ident">into</span>();
+ <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction::Complete</span> {
<span class="ident">condition</span>: <span class="ident">Condition</span> {
<span class="ident">timelock</span>: <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">value</span>),
<span class="ident">csv</span>: <span class="prelude-val">None</span>,
<span class="prelude-val">Some</span>(<span class="ident">policy</span>)
}
- <span class="ident">Terminal</span>::<span class="ident">Older</span>(<span class="ident">value</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem</span>::<span class="ident">RelativeTimelock</span> { <span class="ident">value</span>: <span class="kw-2">*</span><span class="ident">value</span> }.<span class="ident">into</span>();
- <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {
+ <span class="ident">Terminal::Older</span>(<span class="ident">value</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy</span>: <span class="ident">Policy</span> <span class="op">=</span> <span class="ident">SatisfiableItem::RelativeTimelock</span> { <span class="ident">value</span>: <span class="kw-2">*</span><span class="ident">value</span> }.<span class="ident">into</span>();
+ <span class="ident">policy</span>.<span class="ident">contribution</span> <span class="op">=</span> <span class="ident">Satisfaction::Complete</span> {
<span class="ident">condition</span>: <span class="ident">Condition</span> {
<span class="ident">timelock</span>: <span class="prelude-val">None</span>,
<span class="ident">csv</span>: <span class="prelude-val">Some</span>(<span class="kw-2">*</span><span class="ident">value</span>),
<span class="prelude-val">Some</span>(<span class="ident">policy</span>)
}
- <span class="ident">Terminal</span>::<span class="ident">Sha256</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem</span>::<span class="ident">Sha256Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>()),
- <span class="ident">Terminal</span>::<span class="ident">Hash256</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
- <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem</span>::<span class="ident">Hash256Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
+ <span class="ident">Terminal::Sha256</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem::Sha256Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>()),
+ <span class="ident">Terminal::Hash256</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem::Hash256Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
}
- <span class="ident">Terminal</span>::<span class="ident">Ripemd160</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
- <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem</span>::<span class="ident">Ripemd160Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
+ <span class="ident">Terminal::Ripemd160</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem::Ripemd160Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
}
- <span class="ident">Terminal</span>::<span class="ident">Hash160</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
- <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem</span>::<span class="ident">Hash160Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
+ <span class="ident">Terminal::Hash160</span>(<span class="ident">hash</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Some</span>(<span class="ident">SatisfiableItem::Hash160Preimage</span> { <span class="ident">hash</span>: <span class="kw-2">*</span><span class="ident">hash</span> }.<span class="ident">into</span>())
}
- <span class="ident">Terminal</span>::<span class="ident">Multi</span>(<span class="ident">k</span>, <span class="ident">pks</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy</span>::<span class="ident">make_multisig</span>(<span class="ident">pks</span>, <span class="ident">signers</span>, <span class="kw-2">*</span><span class="ident">k</span>, <span class="bool-val">false</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
+ <span class="ident">Terminal::Multi</span>(<span class="ident">k</span>, <span class="ident">pks</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy::make_multisig</span>(<span class="ident">pks</span>, <span class="ident">signers</span>, <span class="kw-2">*</span><span class="ident">k</span>, <span class="bool-val">false</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
<span class="comment">// Identities</span>
- <span class="ident">Terminal</span>::<span class="ident">Alt</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">Swap</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">Check</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">DupIf</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">Verify</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">NonZero</span>(<span class="ident">inner</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">ZeroNotEqual</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
+ <span class="ident">Terminal::Alt</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::Swap</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::Check</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::DupIf</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::Verify</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::NonZero</span>(<span class="ident">inner</span>)
+ <span class="op">|</span> <span class="ident">Terminal::ZeroNotEqual</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">inner</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
<span class="comment">// Complex policies</span>
- <span class="ident">Terminal</span>::<span class="ident">AndV</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">AndB</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy</span>::<span class="ident">make_and</span>(
+ <span class="ident">Terminal::AndV</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">|</span> <span class="ident">Terminal::AndB</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy::make_and</span>(
<span class="ident">a</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
<span class="ident">b</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
)<span class="question-mark">?</span>,
- <span class="ident">Terminal</span>::<span class="ident">AndOr</span>(<span class="ident">x</span>, <span class="ident">y</span>, <span class="ident">z</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy</span>::<span class="ident">make_or</span>(
- <span class="ident">Policy</span>::<span class="ident">make_and</span>(
+ <span class="ident">Terminal::AndOr</span>(<span class="ident">x</span>, <span class="ident">y</span>, <span class="ident">z</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy::make_or</span>(
+ <span class="ident">Policy::make_and</span>(
<span class="ident">x</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
<span class="ident">y</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
)<span class="question-mark">?</span>,
<span class="ident">z</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
)<span class="question-mark">?</span>,
- <span class="ident">Terminal</span>::<span class="ident">OrB</span>(<span class="ident">a</span>, <span class="ident">b</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">OrD</span>(<span class="ident">a</span>, <span class="ident">b</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">OrC</span>(<span class="ident">a</span>, <span class="ident">b</span>)
- <span class="op">|</span> <span class="ident">Terminal</span>::<span class="ident">OrI</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy</span>::<span class="ident">make_or</span>(
+ <span class="ident">Terminal::OrB</span>(<span class="ident">a</span>, <span class="ident">b</span>)
+ <span class="op">|</span> <span class="ident">Terminal::OrD</span>(<span class="ident">a</span>, <span class="ident">b</span>)
+ <span class="op">|</span> <span class="ident">Terminal::OrC</span>(<span class="ident">a</span>, <span class="ident">b</span>)
+ <span class="op">|</span> <span class="ident">Terminal::OrI</span>(<span class="ident">a</span>, <span class="ident">b</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Policy::make_or</span>(
<span class="ident">a</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
<span class="ident">b</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>,
)<span class="question-mark">?</span>,
- <span class="ident">Terminal</span>::<span class="ident">Thresh</span>(<span class="ident">k</span>, <span class="ident">nodes</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">Terminal::Thresh</span>(<span class="ident">k</span>, <span class="ident">nodes</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">threshold</span> <span class="op">=</span> <span class="kw-2">*</span><span class="ident">k</span>;
<span class="kw">let</span> <span class="ident">mapped</span>: <span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">nodes</span>
.<span class="ident">iter</span>()
};
}
- <span class="ident">Policy</span>::<span class="ident">make_thresh</span>(<span class="ident">mapped</span>, <span class="ident">threshold</span>)<span class="question-mark">?</span>
+ <span class="ident">Policy::make_thresh</span>(<span class="ident">mapped</span>, <span class="ident">threshold</span>)<span class="question-mark">?</span>
}
})
}
<span class="ident">signers</span>: <span class="kw-2">&</span><span class="ident">SignersContainer</span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Policy</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">Policy</span>::<span class="ident">make_multisig</span>(
+ <span class="prelude-val">Ok</span>(<span class="ident">Policy::make_multisig</span>(
<span class="ident">keys</span>.<span class="ident">pks</span>.<span class="ident">as_ref</span>(),
<span class="ident">signers</span>,
<span class="ident">keys</span>.<span class="ident">k</span>,
}
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">Descriptor</span>::<span class="ident">Pkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
- <span class="ident">Descriptor</span>::<span class="ident">Wpkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
- <span class="ident">Descriptor</span>::<span class="ident">Sh</span>(<span class="ident">sh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">sh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">ShInner</span>::<span class="ident">Wpkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
- <span class="ident">ShInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
- <span class="ident">ShInner</span>::<span class="ident">SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
- <span class="ident">ShInner</span>::<span class="ident">Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">WshInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
- <span class="ident">WshInner</span>::<span class="ident">SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
+ <span class="ident">Descriptor::Pkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
+ <span class="ident">Descriptor::Wpkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
+ <span class="ident">Descriptor::Sh</span>(<span class="ident">sh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">sh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">ShInner::Wpkh</span>(<span class="ident">pk</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">signature</span>(<span class="ident">pk</span>.<span class="ident">as_inner</span>(), <span class="ident">signers</span>, <span class="ident">secp</span>))),
+ <span class="ident">ShInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
+ <span class="ident">ShInner::SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
+ <span class="ident">ShInner::Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">WshInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
+ <span class="ident">WshInner::SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
},
},
- <span class="ident">Descriptor</span>::<span class="ident">Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">WshInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
- <span class="ident">WshInner</span>::<span class="ident">SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
+ <span class="ident">Descriptor::Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">WshInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
+ <span class="ident">WshInner::SortedMulti</span>(<span class="kw-2">ref</span> <span class="ident">keys</span>) <span class="op">=</span><span class="op">></span> <span class="ident">make_sortedmulti</span>(<span class="ident">keys</span>, <span class="ident">signers</span>, <span class="ident">secp</span>),
},
- <span class="ident">Descriptor</span>::<span class="ident">Bare</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">as_inner</span>().<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
+ <span class="ident">Descriptor::Bare</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="ident">ms</span>.<span class="ident">as_inner</span>().<span class="ident">extract_policy</span>(<span class="ident">signers</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>),
}
}
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{<span class="ident">ExtractPolicy</span>, <span class="ident">IntoWalletDescriptor</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{<span class="ident">ExtractPolicy</span>, <span class="ident">IntoWalletDescriptor</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">deserialize</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">derived</span>::<span class="ident">AsDerived</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">policy</span>::<span class="ident">SatisfiableItem</span>::{<span class="ident">Multisig</span>, <span class="ident">Signature</span>, <span class="ident">Thresh</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">signer</span>::<span class="ident">SignersContainer</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Network</span>;
- <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">DescriptorTrait</span>;
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::bitcoin::consensus::deserialize</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::derived::AsDerived</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::policy::SatisfiableItem</span>::{<span class="ident">Multisig</span>, <span class="ident">Signature</span>, <span class="ident">Thresh</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::signer::SignersContainer</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::secp256k1::Secp256k1</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::Network</span>;
+ <span class="kw">use</span> <span class="ident">miniscript::DescriptorTrait</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
<span class="kw">const</span> <span class="ident">TPRV0_STR</span>:<span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"tprv8ZgxMBicQKsPdZXrcHNLf5JAJWFAoJ2TrstMRdSKtEggz6PddbuSkvHKM9oKJyFgZV1B7rw8oChspxyYbtmEXYyg1AjfWbL3ho3XHDpHRZf"</span>;
<span class="kw">const</span> <span class="ident">TPRV1_STR</span>:<span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"tprv8ZgxMBicQKsPdpkqS7Eair4YxjcuuvDPNYmKX3sCniCf16tHEVrjjiSXEkFRnUH77yXc6ZcwHHcLNfjdi5qUvw3VDfgYiH5mNsj5izuiu2N"</span>;
<span class="ident">path</span>: <span class="kw-2">&</span><span class="ident">str</span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> (<span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">Fingerprint</span>) {
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="ident">path</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">tprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="ident">tprv</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_private</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">tprv</span>);
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="ident">path</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">tprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="ident">tprv</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPubKey::from_private</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">tprv</span>);
<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">tprv</span>.<span class="ident">fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> (<span class="ident">tprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> (<span class="ident">tpub</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_wpkh</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey</span>, <span class="ident">pubkey</span>, <span class="ident">fingerprint</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey</span>)).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::None</span>));
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">prvkey</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">prvkey</span>)).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {<span class="ident">condition</span>} <span class="kw">if</span> <span class="ident">condition</span>.<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">condition</span>.<span class="ident">timelock</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::Complete</span> {<span class="ident">condition</span>} <span class="kw">if</span> <span class="ident">condition</span>.<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">condition</span>.<span class="ident">timelock</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span>)
);
}
<span class="comment">// 2 pub keys descriptor, required 2 prv keys</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_sh_multi_partial_0of2</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">_prvkey0</span>, <span class="ident">pubkey0</span>, <span class="ident">fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">_prvkey1</span>, <span class="ident">pubkey1</span>, <span class="ident">fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">pubkey0</span>, <span class="ident">pubkey1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">pubkey0</span>, <span class="ident">pubkey1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">0</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint0</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">1</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint1</span>)
);
<span class="comment">// TODO should this be "Satisfaction::None" since we have no prv keys?</span>
<span class="comment">// TODO should items and conditions not be empty?</span>
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, ..} <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, ..} <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">is_empty</span>()
<span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">is_empty</span>()
<span class="comment">// 1 prv and 1 pub key descriptor, required 2 prv keys</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_sh_multi_partial_1of2</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey0</span>, <span class="ident">_pubkey0</span>, <span class="ident">fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">_prvkey1</span>, <span class="ident">pubkey1</span>, <span class="ident">fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey0</span>, <span class="ident">pubkey1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey0</span>, <span class="ident">pubkey1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">0</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint0</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">1</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint1</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, ..} <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, ..} <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2usize</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">1</span>
<span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="number">0</span>)
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">ignore</span>]</span> <span class="comment">// see https://github.com/bitcoindevkit/bdk/issues/225</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_sh_multi_complete_1of2</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">_prvkey0</span>, <span class="ident">pubkey0</span>, <span class="ident">fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">prvkey1</span>, <span class="ident">_pubkey1</span>, <span class="ident">fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">0</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint0</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">1</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint1</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">2</span>
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>])
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>])
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>])
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>])
)
);
}
<span class="comment">// 2 prv keys descriptor, required 2 prv keys</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_sh_multi_complete_2of2</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey0</span>, <span class="ident">_pubkey0</span>, <span class="ident">fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">prvkey1</span>, <span class="ident">_pubkey1</span>, <span class="ident">fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">0</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint0</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">1</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint1</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">2</span>
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>,<span class="number">1</span>])
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>,<span class="number">1</span>])
)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_single_wpkh</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey</span>, <span class="ident">pubkey</span>, <span class="ident">fingerprint</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">pubkey</span>)).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">single_key</span> <span class="op">=</span> <span class="ident">wallet_desc</span>.<span class="ident">derive</span>(<span class="number">0</span>);
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">single_key</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="prelude-val">None</span>));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::None</span>));
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">prvkey</span>)).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">prvkey</span>)).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">single_key</span> <span class="op">=</span> <span class="ident">wallet_desc</span>.<span class="ident">derive</span>(<span class="number">0</span>);
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">single_key</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Signature</span>(<span class="ident">pk_or_f</span>) <span class="kw">if</span> <span class="ident">pk_or_f</span>.<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">Complete</span> {<span class="ident">condition</span>} <span class="kw">if</span> <span class="ident">condition</span>.<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">condition</span>.<span class="ident">timelock</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::Complete</span> {<span class="ident">condition</span>} <span class="kw">if</span> <span class="ident">condition</span>.<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span> <span class="op">&&</span> <span class="ident">condition</span>.<span class="ident">timelock</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">None</span>)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">ignore</span>]</span> <span class="comment">// see https://github.com/bitcoindevkit/bdk/issues/225</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_single_wsh_multi_complete_1of2</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">_prvkey0</span>, <span class="ident">pubkey0</span>, <span class="ident">fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">prvkey1</span>, <span class="ident">_pubkey1</span>, <span class="ident">fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pubkey0</span>, <span class="ident">prvkey1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">single_key</span> <span class="op">=</span> <span class="ident">wallet_desc</span>.<span class="ident">derive</span>(<span class="number">0</span>);
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">single_key</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Multisig</span> { <span class="ident">keys</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">0</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint0</span>
<span class="op">&&</span> <span class="ident">keys</span>[<span class="number">1</span>].<span class="ident">fingerprint</span>.<span class="ident">unwrap</span>() <span class="op">=</span><span class="op">=</span> <span class="ident">fingerprint1</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">1</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">2</span>
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>])
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>])
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>])
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">contains_key</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>])
)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">ignore</span>]</span> <span class="comment">// see https://github.com/bitcoindevkit/bdk/issues/225</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_wsh_multi_timelock</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey0</span>, <span class="ident">_pubkey0</span>, <span class="ident">_fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">_prvkey1</span>, <span class="ident">pubkey1</span>, <span class="ident">_fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">sequence</span> <span class="op">=</span> <span class="number">50</span>;
- <span class="attribute">#[<span class="ident">rustfmt</span>::<span class="ident">skip</span>]</span>
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">thresh</span>(
+ <span class="attribute">#[<span class="ident">rustfmt::skip</span>]</span>
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">thresh</span>(
<span class="number">2</span>,
<span class="ident">pk</span>(<span class="ident">prvkey0</span>),
<span class="ident">s</span>:<span class="ident">pk</span>(<span class="ident">pubkey1</span>),
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">3</span> <span class="op">&&</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>)
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">item</span>, <span class="ident">Thresh</span> { <span class="ident">items</span>, <span class="ident">threshold</span> } <span class="kw">if</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">3</span> <span class="op">&&</span> <span class="ident">threshold</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>)
);
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">3</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy</span>.<span class="ident">contribution</span>, <span class="ident">Satisfaction::PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, <span class="ident">conditions</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">3</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">items</span>.<span class="ident">len</span>() <span class="op">=</span><span class="op">=</span> <span class="number">3</span>
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>,<span class="number">1</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span>.<span class="ident">is_none</span>()
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>,<span class="number">2</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sequence</span>)
- <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>,<span class="number">2</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sequence</span>)
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>,<span class="number">1</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span>.<span class="ident">is_none</span>()
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>,<span class="number">2</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sequence</span>)
+ <span class="op">&&</span> <span class="ident">conditions</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>,<span class="number">2</span>]).<span class="ident">unwrap</span>().<span class="ident">iter</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>().<span class="ident">csv</span> <span class="op">=</span><span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">sequence</span>)
)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">ignore</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_wsh_mixed_timelocks</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey0</span>, <span class="ident">_pubkey0</span>, <span class="ident">_fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">locktime_threshold</span> <span class="op">=</span> <span class="number">500000000</span>; <span class="comment">// if less than this means block number, else block time in seconds</span>
<span class="kw">let</span> <span class="ident">locktime_blocks</span> <span class="op">=</span> <span class="number">100</span>;
<span class="kw">let</span> <span class="ident">locktime_seconds</span> <span class="op">=</span> <span class="ident">locktime_blocks</span> <span class="op">+</span> <span class="ident">locktime_threshold</span>;
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
<span class="ident">v</span>: <span class="ident">pk</span>(<span class="ident">prvkey0</span>),
<span class="ident">and_v</span>(<span class="ident">v</span>: <span class="ident">after</span>(<span class="ident">locktime_seconds</span>), <span class="ident">after</span>(<span class="ident">locktime_blocks</span>))
)))
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
+ <span class="macro">println!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
<span class="comment">// TODO how should this fail with mixed timelocks?</span>
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">ignore</span>]</span>
<span class="kw">fn</span> <span class="ident">test_extract_policy_for_multiple_same_timelocks</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey0</span>, <span class="ident">_pubkey0</span>, <span class="ident">_fingerprint0</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">locktime_blocks0</span> <span class="op">=</span> <span class="number">100</span>;
<span class="kw">let</span> <span class="ident">locktime_blocks1</span> <span class="op">=</span> <span class="number">200</span>;
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
<span class="ident">v</span>: <span class="ident">pk</span>(<span class="ident">prvkey0</span>),
<span class="ident">and_v</span>(<span class="ident">v</span>: <span class="ident">after</span>(<span class="ident">locktime_blocks0</span>), <span class="ident">after</span>(<span class="ident">locktime_blocks1</span>))
)))
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
+ <span class="macro">println!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
<span class="comment">// TODO how should this merge timelocks?</span>
<span class="kw">let</span> (<span class="ident">prvkey1</span>, <span class="ident">_pubkey1</span>, <span class="ident">_fingerprint1</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">locktime_seconds0</span> <span class="op">=</span> <span class="number">500000100</span>;
<span class="kw">let</span> <span class="ident">locktime_seconds1</span> <span class="op">=</span> <span class="number">500000200</span>;
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">and_v</span>(
<span class="ident">v</span>: <span class="ident">pk</span>(<span class="ident">prvkey1</span>),
<span class="ident">and_v</span>(<span class="ident">v</span>: <span class="ident">after</span>(<span class="ident">locktime_seconds0</span>), <span class="ident">after</span>(<span class="ident">locktime_seconds1</span>))
)))
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="macro">println</span><span class="macro">!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
+ <span class="macro">println!</span>(<span class="string">"desc policy = {:?}"</span>, <span class="ident">policy</span>); <span class="comment">// TODO remove</span>
<span class="comment">// TODO how should this merge timelocks?</span>
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_get_condition_multisig</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">pk0</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">pk1</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>, <span class="ident">PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pk0</span>, <span class="ident">pk1</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">1</span>, <span class="ident">pk0</span>, <span class="ident">pk1</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">keymap</span>.<span class="ident">into</span>();
.<span class="ident">unwrap</span>();
<span class="comment">// no args, choose the default</span>
- <span class="kw">let</span> <span class="ident">no_args</span> <span class="op">=</span> <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">no_args</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>()));
+ <span class="kw">let</span> <span class="ident">no_args</span> <span class="op">=</span> <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">no_args</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>()));
<span class="comment">// enough args</span>
<span class="kw">let</span> <span class="ident">eq_thresh</span> <span class="op">=</span>
- <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">eq_thresh</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>()));
+ <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec!</span>[<span class="number">0</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">eq_thresh</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>()));
<span class="comment">// more args, it doesn't really change anything</span>
<span class="kw">let</span> <span class="ident">gt_thresh</span> <span class="op">=</span>
- <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>, <span class="number">1</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">gt_thresh</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition</span>::<span class="ident">default</span>()));
+ <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">gt_thresh</span>, <span class="prelude-val">Ok</span>(<span class="ident">Condition::default</span>()));
<span class="comment">// not enough args, error</span>
<span class="kw">let</span> <span class="ident">lt_thresh</span> <span class="op">=</span>
- <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec</span><span class="macro">!</span>[])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec!</span>[])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="macro">assert_eq!</span>(
<span class="ident">lt_thresh</span>,
- <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">NotEnoughItemsSelected</span>(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>()))
+ <span class="prelude-val">Err</span>(<span class="ident">PolicyError::NotEnoughItemsSelected</span>(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>()))
);
<span class="comment">// index out of range</span>
<span class="kw">let</span> <span class="ident">out_of_range</span> <span class="op">=</span>
- <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec</span><span class="macro">!</span>[<span class="number">5</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">out_of_range</span>, <span class="prelude-val">Err</span>(<span class="ident">PolicyError</span>::<span class="ident">IndexOutOfRange</span>(<span class="number">5</span>)));
+ <span class="ident">policy</span>.<span class="ident">get_condition</span>(<span class="kw-2">&</span><span class="macro">vec!</span>[(<span class="ident">policy</span>.<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="macro">vec!</span>[<span class="number">5</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">out_of_range</span>, <span class="prelude-val">Err</span>(<span class="ident">PolicyError::IndexOutOfRange</span>(<span class="number">5</span>)));
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">const</span> <span class="ident">BOB_SIGNED_PSBT</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"cHNidP8BAFMBAAAAAZb0njwT2wRS3AumaaP3yb7T4MxOePpSWih4Nq+jWChMAQAAAAD/////Af4lAAAAAAAAF6kUXv2Fn+YemPP4PUpNR1ZbU16/eRCHAAAAAAABASuJJgAAAAAAACIAIERw5kTLo9DUH9QDJSClHQwPpC7VGJ+ZMDpa8U+2fzcYIgIC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhIMEUCIQD5zDtM5MwklurwJ5aW76RsO36Iqyu+6uMdVlhL6ws2GQIgesAiz4dbKS7UmhDsC/c1ezu0o6hp00UUtsCMfUZ4anYBAQVHUiEDeAtjYQk/Vfu4db2+68hyMKjc38+kWl5sP5QH8L42ZsshAvhhP8vi6bSPMZokerDnvffCBs8m6MdEH8+PgUJdZ5mIUq4iBgL4YT/L4um0jzGaJHqw5733wgbPJujHRB/Pj4FCXWeZiAwcLu4+AAAAgAAAAAAiBgN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmywzJEXwuAAAAgAAAAAAAAA=="</span>;
<span class="kw">const</span> <span class="ident">ALICE_BOB_SIGNED_PSBT</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"cHNidP8BAFMBAAAAAZb0njwT2wRS3AumaaP3yb7T4MxOePpSWih4Nq+jWChMAQAAAAD/////Af4lAAAAAAAAF6kUXv2Fn+YemPP4PUpNR1ZbU16/eRCHAAAAAAABASuJJgAAAAAAACIAIERw5kTLo9DUH9QDJSClHQwPpC7VGJ+ZMDpa8U+2fzcYIgIC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhIMEUCIQD5zDtM5MwklurwJ5aW76RsO36Iqyu+6uMdVlhL6ws2GQIgesAiz4dbKS7UmhDsC/c1ezu0o6hp00UUtsCMfUZ4anYBIgIDeAtjYQk/Vfu4db2+68hyMKjc38+kWl5sP5QH8L42ZstHMEQCIBj0jLjUeVYXNQ6cqB+gbtvuKMjV54wSgWlm1cfcgpHVAiBa3DtC9l/1Mt4IDCvR7mmwQd3eAP/m5++81euhJNSrgQEBBUdSIQN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmyyEC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhSriIGAvhhP8vi6bSPMZokerDnvffCBs8m6MdEH8+PgUJdZ5mIDBwu7j4AAACAAAAAACIGA3gLY2EJP1X7uHW9vuvIcjCo3N/PpFpebD+UB/C+NmbLDMkRfC4AAACAAAAAAAEHAAEI2wQARzBEAiAY9Iy41HlWFzUOnKgfoG7b7ijI1eeMEoFpZtXH3IKR1QIgWtw7QvZf9TLeCAwr0e5psEHd3gD/5ufvvNXroSTUq4EBSDBFAiEA+cw7TOTMJJbq8CeWlu+kbDt+iKsrvurjHVZYS+sLNhkCIHrAIs+HWyku1JoQ7Av3NXs7tKOoadNFFLbAjH1GeGp2AUdSIQN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmyyEC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhSrgAA"</span>;
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey_alice</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">ALICE_TPRV_STR</span>, <span class="ident">ALICE_BOB_PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> (<span class="ident">prvkey_bob</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">BOB_TPRV_STR</span>, <span class="ident">ALICE_BOB_PATH</span>, <span class="kw-2">&</span><span class="ident">secp</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey_alice</span>, <span class="ident">prvkey_bob</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">wsh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey_alice</span>, <span class="ident">prvkey_bob</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">wallet_desc</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">as_derived</span>(<span class="number">0</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
- .<span class="ident">address</span>(<span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">address</span>(<span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="string">"tb1qg3cwv3xt50gdg875qvjjpfgaps86gtk4rz0ejvp6ttc5ldnlxuvqlcn0xk"</span>,
<span class="ident">addr</span>.<span class="ident">to_string</span>()
);
- <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers_container</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> <span class="ident">original_policy</span> <span class="op">=</span> <span class="ident">wallet_desc</span>
.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="ident">signers_container</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64</span>::<span class="ident">decode</span>(<span class="ident">ALICE_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64::decode</span>(<span class="ident">ALICE_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy_clone</span> <span class="op">=</span> <span class="ident">original_policy</span>.<span class="ident">clone</span>();
<span class="ident">policy_clone</span>
.<span class="ident">fill_satisfactions</span>(<span class="kw-2">&</span><span class="ident">psbt</span>, <span class="kw-2">&</span><span class="ident">wallet_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction::Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
- <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>]
+ <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>]
)
);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy_clone</span> <span class="op">=</span> <span class="ident">original_policy</span>.<span class="ident">clone</span>();
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64</span>::<span class="ident">decode</span>(<span class="ident">BOB_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64::decode</span>(<span class="ident">BOB_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
<span class="ident">policy_clone</span>
.<span class="ident">fill_satisfactions</span>(<span class="kw-2">&</span><span class="ident">psbt</span>, <span class="kw-2">&</span><span class="ident">wallet_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction</span>::<span class="ident">Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction::Partial</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
- <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>]
+ <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">1</span>]
)
);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">policy_clone</span> <span class="op">=</span> <span class="ident">original_policy</span>;
- <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64</span>::<span class="ident">decode</span>(<span class="ident">ALICE_BOB_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">psbt</span>: <span class="ident">PSBT</span> <span class="op">=</span> <span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="ident">base64::decode</span>(<span class="ident">ALICE_BOB_SIGNED_PSBT</span>).<span class="ident">unwrap</span>()).<span class="ident">unwrap</span>();
<span class="ident">policy_clone</span>
.<span class="ident">fill_satisfactions</span>(<span class="kw-2">&</span><span class="ident">psbt</span>, <span class="kw-2">&</span><span class="ident">wallet_desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
- <span class="macro">matches</span><span class="macro">!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction</span>::<span class="ident">PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
+ <span class="macro">assert!</span>(
+ <span class="macro">matches!</span>(<span class="kw-2">&</span><span class="ident">policy_clone</span>.<span class="ident">satisfaction</span>, <span class="ident">Satisfaction::PartialComplete</span> { <span class="ident">n</span>, <span class="ident">m</span>, <span class="ident">items</span>, .. } <span class="kw">if</span> <span class="ident">n</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
<span class="op">&&</span> <span class="ident">m</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="number">2</span>
- <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>, <span class="number">1</span>]
+ <span class="op">&&</span> <span class="ident">items</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="macro">vec!</span>[<span class="number">0</span>, <span class="number">1</span>]
)
);
}
<!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="Source of the Rust file `src/descriptor/template.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>template.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! This module contains the definition of various common script templates that are ready to be</span>
<span class="doccomment">//! used. See the documentation of each template for an example.</span>
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Network</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::Network</span>;
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">Legacy</span>, <span class="ident">Segwitv0</span>};
<span class="kw">use</span> <span class="kw">super</span>::{<span class="ident">ExtendedDescriptor</span>, <span class="ident">IntoWalletDescriptor</span>, <span class="ident">KeyMap</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">DescriptorError</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">IntoDescriptorKey</span>, <span class="ident">ValidNetworks</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">SecpCtx</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::DescriptorError</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">DerivableKey</span>, <span class="ident">IntoDescriptorKey</span>, <span class="ident">ValidNetworks</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::SecpCtx</span>;
<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">descriptor</span>, <span class="ident">KeychainKind</span>};
<span class="doccomment">/// Type alias for the return type of [`DescriptorTemplate`], [`descriptor!`](crate::descriptor!) and others</span>
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">P2Pkh</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">pkh</span>(<span class="self">self</span>.<span class="number">0</span>))
+ <span class="macro">descriptor!</span>(<span class="ident">pkh</span>(<span class="self">self</span>.<span class="number">0</span>))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">P2Wpkh_P2Sh</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="self">self</span>.<span class="number">0</span>)))
+ <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">wpkh</span>(<span class="self">self</span>.<span class="number">0</span>)))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">P2Wpkh</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="self">self</span>.<span class="number">0</span>))
+ <span class="macro">descriptor!</span>(<span class="ident">wpkh</span>(<span class="self">self</span>.<span class="number">0</span>))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip44</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Pkh</span>(<span class="ident">legacy</span>::<span class="ident">make_bipxx_private</span>(<span class="number">44</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Pkh</span>(<span class="ident">legacy::make_bipxx_private</span>(<span class="number">44</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
<span class="doccomment">/// assert_eq!(wallet.public_descriptor(KeychainKind::External)?.unwrap().to_string(), "pkh([c55b303f/44'/0'/0']tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU/0/*)#xgaaevjx");</span>
<span class="doccomment">/// # Ok::<_, Box<dyn std::error::Error>>(())</span>
<span class="doccomment">/// ```</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip44Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
+<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip44Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32::Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Legacy</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip44Public</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Pkh</span>(<span class="ident">legacy</span>::<span class="ident">make_bipxx_public</span>(<span class="number">44</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Pkh</span>(<span class="ident">legacy::make_bipxx_public</span>(<span class="number">44</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip49</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">segwit_v0</span>::<span class="ident">make_bipxx_private</span>(<span class="number">49</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">segwit_v0::make_bipxx_private</span>(<span class="number">49</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
<span class="doccomment">/// assert_eq!(wallet.public_descriptor(KeychainKind::External)?.unwrap().to_string(), "sh(wpkh([c55b303f/49\'/0\'/0\']tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L/0/*))#gsmdv4xr");</span>
<span class="doccomment">/// # Ok::<_, Box<dyn std::error::Error>>(())</span>
<span class="doccomment">/// ```</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip49Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
+<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip49Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32::Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip49Public</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">segwit_v0</span>::<span class="ident">make_bipxx_public</span>(<span class="number">49</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">segwit_v0::make_bipxx_public</span>(<span class="number">49</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip84</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Wpkh</span>(<span class="ident">segwit_v0</span>::<span class="ident">make_bipxx_private</span>(<span class="number">84</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Wpkh</span>(<span class="ident">segwit_v0::make_bipxx_private</span>(<span class="number">84</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
<span class="doccomment">/// assert_eq!(wallet.public_descriptor(KeychainKind::External)?.unwrap().to_string(), "wpkh([c55b303f/84\'/0\'/0\']tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q/0/*)#nkk5dtkg");</span>
<span class="doccomment">/// # Ok::<_, Box<dyn std::error::Error>>(())</span>
<span class="doccomment">/// ```</span>
-<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip84Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
+<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Bip84Public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span>(<span class="kw">pub</span> <span class="ident">K</span>, <span class="kw">pub</span> <span class="ident">bip32::Fingerprint</span>, <span class="kw">pub</span> <span class="ident">KeychainKind</span>);
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Segwitv0</span><span class="op">></span><span class="op">></span> <span class="ident">DescriptorTemplate</span> <span class="kw">for</span> <span class="ident">Bip84Public</span><span class="op"><</span><span class="ident">K</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">build</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorTemplateOut</span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="ident">P2Wpkh</span>(<span class="ident">segwit_v0</span>::<span class="ident">make_bipxx_public</span>(<span class="number">84</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
+ <span class="ident">P2Wpkh</span>(<span class="ident">segwit_v0::make_bipxx_public</span>(<span class="number">84</span>, <span class="self">self</span>.<span class="number">0</span>, <span class="self">self</span>.<span class="number">1</span>, <span class="self">self</span>.<span class="number">2</span>)<span class="question-mark">?</span>).<span class="ident">build</span>()
}
}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">expand_make_bipxx</span> {
+<span class="macro">macro_rules!</span> <span class="ident">expand_make_bipxx</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">mod_name</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span>:<span class="ident">ty</span> ) <span class="op">=</span><span class="op">></span> {
<span class="kw">mod</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">mod_name</span> {
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
<span class="ident">key</span>: <span class="ident">K</span>,
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">impl</span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">derivation_path</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="number">4</span>);
- <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="ident">bip</span>)<span class="question-mark">?</span>);
- <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>);
- <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">derivation_path</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="number">4</span>);
+ <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="ident">bip</span>)<span class="question-mark">?</span>);
+ <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>);
+ <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>);
<span class="kw">match</span> <span class="ident">keychain</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> {
- <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_normal_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>)
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32::ChildNumber::from_normal_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>)
}
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> {
- <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_normal_idx</span>(<span class="number">1</span>)<span class="question-mark">?</span>)
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">derivation_path</span>.<span class="ident">push</span>(<span class="ident">bip32::ChildNumber::from_normal_idx</span>(<span class="number">1</span>)<span class="question-mark">?</span>)
}
};
- <span class="kw">let</span> <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span> <span class="op">=</span> <span class="ident">derivation_path</span>.<span class="ident">into</span>();
+ <span class="kw">let</span> <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span> <span class="op">=</span> <span class="ident">derivation_path</span>.<span class="ident">into</span>();
<span class="prelude-val">Ok</span>((<span class="ident">key</span>, <span class="ident">derivation_path</span>))
}
<span class="kw">pub</span>(<span class="kw">super</span>) <span class="kw">fn</span> <span class="ident">make_bipxx_public</span><span class="op"><</span><span class="ident">K</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span><span class="op">></span>(
<span class="ident">bip</span>: <span class="ident">u32</span>,
<span class="ident">key</span>: <span class="ident">K</span>,
- <span class="ident">parent_fingerprint</span>: <span class="ident">bip32</span>::<span class="ident">Fingerprint</span>,
+ <span class="ident">parent_fingerprint</span>: <span class="ident">bip32::Fingerprint</span>,
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw">impl</span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">ctx</span><span class="op">></span>, <span class="ident">DescriptorError</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">keychain</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_normal_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>].<span class="ident">into</span>(),
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_normal_idx</span>(<span class="number">1</span>)<span class="question-mark">?</span>].<span class="ident">into</span>(),
+ <span class="kw">let</span> <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">keychain</span> {
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[<span class="ident">bip32::ChildNumber::from_normal_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>].<span class="ident">into</span>(),
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[<span class="ident">bip32::ChildNumber::from_normal_idx</span>(<span class="number">1</span>)<span class="question-mark">?</span>].<span class="ident">into</span>(),
};
- <span class="kw">let</span> <span class="ident">source_path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from</span>(<span class="macro">vec</span><span class="macro">!</span>[
- <span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="ident">bip</span>)<span class="question-mark">?</span>,
- <span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>,
- <span class="ident">bip32</span>::<span class="ident">ChildNumber</span>::<span class="ident">from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>,
+ <span class="kw">let</span> <span class="ident">source_path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from</span>(<span class="macro">vec!</span>[
+ <span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="ident">bip</span>)<span class="question-mark">?</span>,
+ <span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>,
+ <span class="ident">bip32::ChildNumber::from_hardened_idx</span>(<span class="number">0</span>)<span class="question-mark">?</span>,
]);
<span class="prelude-val">Ok</span>((<span class="ident">key</span>, (<span class="ident">parent_fingerprint</span>, <span class="ident">source_path</span>), <span class="ident">derivation_path</span>))
};
}
-<span class="macro">expand_make_bipxx</span><span class="macro">!</span>(<span class="ident">legacy</span>, <span class="ident">Legacy</span>);
-<span class="macro">expand_make_bipxx</span><span class="macro">!</span>(<span class="ident">segwit_v0</span>, <span class="ident">Segwitv0</span>);
+<span class="macro">expand_make_bipxx!</span>(<span class="ident">legacy</span>, <span class="ident">Legacy</span>);
+<span class="macro">expand_make_bipxx!</span>(<span class="ident">segwit_v0</span>, <span class="ident">Segwitv0</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
<span class="comment">// test existing descriptor templates, make sure they are expanded to the right descriptors</span>
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">derived</span>::<span class="ident">AsDerived</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorError</span>, <span class="ident">DescriptorMeta</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">ValidNetworks</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">core</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">network</span>::<span class="ident">constants</span>::<span class="ident">Network</span>::<span class="ident">Regtest</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>;
- <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorTrait</span>, <span class="ident">KeyMap</span>};
- <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">Descriptor</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::derived::AsDerived</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{<span class="ident">DescriptorError</span>, <span class="ident">DescriptorMeta</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys::ValidNetworks</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::core::str::FromStr</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::network::constants::Network::Regtest</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::secp256k1::Secp256k1</span>;
+ <span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorTrait</span>, <span class="ident">KeyMap</span>};
+ <span class="kw">use</span> <span class="ident">miniscript::Descriptor</span>;
<span class="comment">// verify template descriptor generates expected address(es)</span>
<span class="kw">fn</span> <span class="ident">check</span>(
<span class="ident">is_fixed</span>: <span class="ident">bool</span>,
<span class="ident">expected</span>: <span class="kw-2">&</span>[<span class="kw-2">&</span><span class="ident">str</span>],
) {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">_key_map</span>, <span class="ident">_networks</span>) <span class="op">=</span> <span class="ident">desc</span>.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">is_witness</span>(), <span class="ident">is_witness</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>(), <span class="ident">is_fixed</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">desc</span>.<span class="ident">is_witness</span>(), <span class="ident">is_witness</span>);
+ <span class="macro">assert_eq!</span>(<span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>(), <span class="ident">is_fixed</span>);
<span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">expected</span>.<span class="ident">len</span>() {
<span class="kw">let</span> <span class="ident">index</span> <span class="op">=</span> <span class="ident">i</span> <span class="kw">as</span> <span class="ident">u32</span>;
<span class="kw">let</span> <span class="ident">child_desc</span> <span class="op">=</span> <span class="kw">if</span> <span class="op">!</span><span class="ident">desc</span>.<span class="ident">is_deriveable</span>() {
<span class="ident">desc</span>.<span class="ident">as_derived</span>(<span class="ident">index</span>, <span class="kw-2">&</span><span class="ident">secp</span>)
};
<span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">child_desc</span>.<span class="ident">address</span>(<span class="ident">Regtest</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">address</span>.<span class="ident">to_string</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">address</span>.<span class="ident">to_string</span>(), <span class="kw-2">*</span><span class="ident">expected</span>.<span class="ident">get</span>(<span class="ident">i</span>).<span class="ident">unwrap</span>());
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_p2ph_template</span>() {
<span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
.<span class="ident">unwrap</span>();
<span class="ident">check</span>(
<span class="ident">P2Pkh</span>(<span class="ident">prvkey</span>).<span class="ident">build</span>(),
<span class="kw-2">&</span>[<span class="string">"mwJ8hxFYW19JLuc65RCTaP4v1rzVU8cVMT"</span>],
);
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd"</span>,
)
.<span class="ident">unwrap</span>();
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_p2wphp2sh_template</span>() {
<span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
.<span class="ident">unwrap</span>();
<span class="ident">check</span>(
<span class="ident">P2Wpkh_P2Sh</span>(<span class="ident">prvkey</span>).<span class="ident">build</span>(),
<span class="kw-2">&</span>[<span class="string">"2NB4ox5VDRw1ecUv6SnT3VQHPXveYztRqk5"</span>],
);
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd"</span>,
)
.<span class="ident">unwrap</span>();
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_p2wph_template</span>() {
<span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
+ <span class="ident">bitcoin::PrivateKey::from_wif</span>(<span class="string">"cTc4vURSzdx6QE6KVynWGomDbLaA75dNALMNyfjh3p8DRRar84Um"</span>)
.<span class="ident">unwrap</span>();
<span class="ident">check</span>(
<span class="ident">P2Wpkh</span>(<span class="ident">prvkey</span>).<span class="ident">build</span>(),
<span class="kw-2">&</span>[<span class="string">"bcrt1q4525hmgw265tl3drrl8jjta7ayffu6jfcwxx9y"</span>],
);
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">PublicKey</span>::<span class="ident">from_str</span>(
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::PublicKey::from_str</span>(
<span class="string">"03a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd"</span>,
)
.<span class="ident">unwrap</span>();
<span class="comment">// BIP44 `pkh(key/44'/0'/0'/{0,1}/*)`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip44_template</span>() {
- <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip44</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip44</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip44</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip44</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// BIP44 public `pkh(key/{0,1}/*)`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip44_public_template</span>() {
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDDDzQ31JkZB7VxUr9bjvBivDdqoFLrDPyLWtLapArAi51ftfmCb2DPxwLQzX65iNcXz1DGaVvyvo6JQ6rTU73r2gqdEo8uov9QKRb7nKCSU"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip44Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip44Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip44Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip44Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">false</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// BIP49 `sh(wpkh(key/49'/0'/0'/{0,1}/*))`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip49_template</span>() {
- <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip49</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip49</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip49</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip49</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// BIP49 public `sh(wpkh(key/{0,1}/*))`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip49_public_template</span>() {
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDC49r947KGK52X5rBWS4BLs5m9SRY3pYHnvRrm7HcybZ3BfdEsGFyzCMzayi1u58eT82ZeyFZwH7DD6Q83E3fM9CpfMtmnTygnLfP59jL9L"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip49Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip49Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip49Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip49Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// BIP84 `wpkh(key/84'/0'/0'/{0,1}/*)`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip84_template</span>() {
- <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPrivKey::from_str</span>(<span class="string">"tprv8ZgxMBicQKsPcx5nBGsR63Pe8KnRUqmbJNENAfGftF3yuXoMMoVJJcYeUw5eVkm9WBPjWYt6HMWYJNesB5HaNVBaFc1M6dRjWSYnmewUMYy"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip84</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip84</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip84</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip84</span>(<span class="ident">prvkey</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<span class="comment">// BIP84 public `wpkh(key/{0,1}/*)`</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bip84_public_template</span>() {
- <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_str</span>(<span class="string">"tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q"</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::ExtendedPubKey::from_str</span>(<span class="string">"tpubDC2Qwo2TFsaNC4ju8nrUJ9mqVT3eSgdmy1yPqhgkjwmke3PRXutNGRYAUo6RCHTcVQaDR3ohNU9we59brGHuEKPvH1ags2nevW5opEE9Z5Q"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">bitcoin::util::bip32::Fingerprint::from_str</span>(<span class="string">"c55b303f"</span>).<span class="ident">unwrap</span>();
<span class="ident">check</span>(
- <span class="ident">Bip84Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip84Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::External</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
],
);
<span class="ident">check</span>(
- <span class="ident">Bip84Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>).<span class="ident">build</span>(),
+ <span class="ident">Bip84Public</span>(<span class="ident">pubkey</span>, <span class="ident">fingerprint</span>, <span class="ident">KeychainKind::Internal</span>).<span class="ident">build</span>(),
<span class="bool-val">true</span>,
<span class="bool-val">false</span>,
<span class="kw-2">&</span>[
<!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="Source of the Rust file `src/error.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>error.rs - source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">descriptor</span>, <span class="ident">wallet</span>, <span class="ident">wallet</span>::<span class="ident">address_validator</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">OutPoint</span>;
+<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">descriptor</span>, <span class="ident">wallet</span>, <span class="ident">wallet::address_validator</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::OutPoint</span>;
<span class="doccomment">/// Errors that can be thrown by the [`Wallet`](crate::wallet::Wallet)</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="doccomment">/// When bumping a tx the fee rate requested is lower than required</span>
<span class="ident">FeeRateTooLow</span> {
<span class="doccomment">/// Required fee rate (satoshi/vbyte)</span>
- <span class="ident">required</span>: <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">FeeRate</span>,
+ <span class="ident">required</span>: <span class="kw">crate</span><span class="ident">::types::FeeRate</span>,
},
<span class="doccomment">/// When bumping a tx the absolute fee requested is lower than replaced tx absolute fee</span>
<span class="ident">FeeTooLow</span> {
<span class="doccomment">/// [`TxBuilder::add_global_xpubs`]: crate::wallet::tx_builder::TxBuilder::add_global_xpubs</span>
<span class="ident">MissingKeyOrigin</span>(<span class="ident">String</span>),
<span class="doccomment">/// Error while working with [`keys`](crate::keys)</span>
- <span class="ident">Key</span>(<span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>),
+ <span class="ident">Key</span>(<span class="kw">crate</span><span class="ident">::keys::KeyError</span>),
<span class="doccomment">/// Descriptor checksum mismatch</span>
<span class="ident">ChecksumMismatch</span>,
<span class="doccomment">/// Spending policy is not compatible with this [`KeychainKind`](crate::types::KeychainKind)</span>
- <span class="ident">SpendingPolicyRequired</span>(<span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">KeychainKind</span>),
+ <span class="ident">SpendingPolicyRequired</span>(<span class="kw">crate</span><span class="ident">::types::KeychainKind</span>),
<span class="doccomment">/// Error while extracting and manipulating policies</span>
- <span class="ident">InvalidPolicyPathError</span>(<span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">policy</span>::<span class="ident">PolicyError</span>),
+ <span class="ident">InvalidPolicyPathError</span>(<span class="kw">crate</span><span class="ident">::descriptor::policy::PolicyError</span>),
<span class="doccomment">/// Signing error</span>
- <span class="ident">Signer</span>(<span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">signer</span>::<span class="ident">SignerError</span>),
+ <span class="ident">Signer</span>(<span class="kw">crate</span><span class="ident">::wallet::signer::SignerError</span>),
<span class="doccomment">/// Progress value must be between `0.0` (included) and `100.0` (included)</span>
<span class="ident">InvalidProgressValue</span>(<span class="ident">f32</span>),
<span class="ident">InvalidOutpoint</span>(<span class="ident">OutPoint</span>),
<span class="doccomment">/// Error related to the parsing and usage of descriptors</span>
- <span class="ident">Descriptor</span>(<span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">error</span>::<span class="ident">Error</span>),
+ <span class="ident">Descriptor</span>(<span class="kw">crate</span><span class="ident">::descriptor::error::Error</span>),
<span class="doccomment">/// Error that can be returned to fail the validation of an address</span>
- <span class="ident">AddressValidator</span>(<span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">address_validator</span>::<span class="ident">AddressValidatorError</span>),
+ <span class="ident">AddressValidator</span>(<span class="kw">crate</span><span class="ident">::wallet::address_validator::AddressValidatorError</span>),
<span class="doccomment">/// Encoding error</span>
- <span class="ident">Encode</span>(<span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span>),
+ <span class="ident">Encode</span>(<span class="ident">bitcoin::consensus::encode::Error</span>),
<span class="doccomment">/// Miniscript error</span>
- <span class="ident">Miniscript</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>),
+ <span class="ident">Miniscript</span>(<span class="ident">miniscript::Error</span>),
<span class="doccomment">/// BIP32 error</span>
- <span class="ident">Bip32</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>),
+ <span class="ident">Bip32</span>(<span class="ident">bitcoin::util::bip32::Error</span>),
<span class="doccomment">/// An ECDSA error</span>
- <span class="ident">Secp256k1</span>(<span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Error</span>),
+ <span class="ident">Secp256k1</span>(<span class="ident">bitcoin::secp256k1::Error</span>),
<span class="doccomment">/// Error serializing or deserializing JSON data</span>
- <span class="ident">Json</span>(<span class="ident">serde_json</span>::<span class="ident">Error</span>),
+ <span class="ident">Json</span>(<span class="ident">serde_json::Error</span>),
<span class="doccomment">/// Hex decoding error</span>
- <span class="ident">Hex</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>),
+ <span class="ident">Hex</span>(<span class="ident">bitcoin::hashes::hex::Error</span>),
<span class="doccomment">/// Partially signed bitcoin transaction error</span>
- <span class="ident">Psbt</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">Error</span>),
+ <span class="ident">Psbt</span>(<span class="ident">bitcoin::util::psbt::Error</span>),
<span class="comment">//KeyMismatch(bitcoin::secp256k1::PublicKey, bitcoin::secp256k1::PublicKey),</span>
<span class="comment">//MissingInputUTXO(usize),</span>
<span class="comment">//MissingCachedAddresses,</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
<span class="doccomment">/// Electrum client error</span>
- <span class="ident">Electrum</span>(<span class="ident">electrum_client</span>::<span class="ident">Error</span>),
+ <span class="ident">Electrum</span>(<span class="ident">electrum_client::Error</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
<span class="doccomment">/// Esplora client error</span>
- <span class="ident">Esplora</span>(<span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">esplora</span>::<span class="ident">EsploraError</span>),
+ <span class="ident">Esplora</span>(<span class="kw">crate</span><span class="ident">::blockchain::esplora::EsploraError</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
<span class="doccomment">/// Compact filters client error)</span>
- <span class="ident">CompactFilters</span>(<span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersError</span>),
+ <span class="ident">CompactFilters</span>(<span class="kw">crate</span><span class="ident">::blockchain::compact_filters::CompactFiltersError</span>),
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
<span class="doccomment">/// Sled database error</span>
- <span class="ident">Sled</span>(<span class="ident">sled</span>::<span class="ident">Error</span>),
+ <span class="ident">Sled</span>(<span class="ident">sled::Error</span>),
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">Error</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">Error</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">Error</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">Error</span> {}
-<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">impl_error</span> {
+<span class="macro">macro_rules!</span> <span class="ident">impl_error</span> {
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>:<span class="ident">ident</span> ) <span class="op">=</span><span class="op">></span> {
- <span class="macro">impl_error</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>, <span class="ident">Error</span>);
+ <span class="macro">impl_error!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>, <span class="ident">Error</span>);
};
( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>:<span class="ident">ty</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>:<span class="ident">ident</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">impl_for</span>:<span class="ident">ty</span> ) <span class="op">=</span><span class="op">></span> {
- <span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">From</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span><span class="op">></span> <span class="kw">for</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">impl_for</span> {
+ <span class="kw">impl</span> <span class="ident">std::convert::From</span><span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span><span class="op">></span> <span class="kw">for</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">impl_for</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">err</span>: <span class="macro-nonterminal">$</span><span class="macro-nonterminal">from</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="op"><</span><span class="macro-nonterminal">$</span><span class="macro-nonterminal">impl_for</span><span class="op">></span>::<span class="macro-nonterminal">$</span><span class="macro-nonterminal">to</span>(<span class="ident">err</span>)
}
};
}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">descriptor</span>::<span class="ident">error</span>::<span class="ident">Error</span>, <span class="ident">Descriptor</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">address_validator</span>::<span class="ident">AddressValidatorError</span>, <span class="ident">AddressValidator</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">descriptor</span>::<span class="ident">policy</span>::<span class="ident">PolicyError</span>, <span class="ident">InvalidPolicyPathError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">wallet</span>::<span class="ident">signer</span>::<span class="ident">SignerError</span>, <span class="ident">Signer</span>);
+<span class="macro">impl_error!</span>(<span class="ident">descriptor::error::Error</span>, <span class="ident">Descriptor</span>);
+<span class="macro">impl_error!</span>(<span class="ident">address_validator::AddressValidatorError</span>, <span class="ident">AddressValidator</span>);
+<span class="macro">impl_error!</span>(<span class="ident">descriptor::policy::PolicyError</span>, <span class="ident">InvalidPolicyPathError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">wallet::signer::SignerError</span>, <span class="ident">Signer</span>);
-<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">key_error</span>: <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Error</span> {
+<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span><span class="ident">::keys::KeyError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">key_error</span>: <span class="kw">crate</span><span class="ident">::keys::KeyError</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Error</span> {
<span class="kw">match</span> <span class="ident">key_error</span> {
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>::<span class="ident">Miniscript</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Miniscript</span>(<span class="ident">inner</span>),
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>::<span class="ident">Bip32</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Bip32</span>(<span class="ident">inner</span>),
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">KeyError</span>::<span class="ident">InvalidChecksum</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">ChecksumMismatch</span>,
- <span class="ident">e</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">Key</span>(<span class="ident">e</span>),
+ <span class="kw">crate</span><span class="ident">::keys::KeyError::Miniscript</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error::Miniscript</span>(<span class="ident">inner</span>),
+ <span class="kw">crate</span><span class="ident">::keys::KeyError::Bip32</span>(<span class="ident">inner</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Error::Bip32</span>(<span class="ident">inner</span>),
+ <span class="kw">crate</span><span class="ident">::keys::KeyError::InvalidChecksum</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error::ChecksumMismatch</span>,
+ <span class="ident">e</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error::Key</span>(<span class="ident">e</span>),
}
}
}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">Error</span>, <span class="ident">Encode</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>, <span class="ident">Miniscript</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>, <span class="ident">Bip32</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Error</span>, <span class="ident">Secp256k1</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">serde_json</span>::<span class="ident">Error</span>, <span class="ident">Json</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">Error</span>, <span class="ident">Hex</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">Error</span>, <span class="ident">Psbt</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::consensus::encode::Error</span>, <span class="ident">Encode</span>);
+<span class="macro">impl_error!</span>(<span class="ident">miniscript::Error</span>, <span class="ident">Miniscript</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::bip32::Error</span>, <span class="ident">Bip32</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::secp256k1::Error</span>, <span class="ident">Secp256k1</span>);
+<span class="macro">impl_error!</span>(<span class="ident">serde_json::Error</span>, <span class="ident">Json</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::hashes::hex::Error</span>, <span class="ident">Hex</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::psbt::Error</span>, <span class="ident">Psbt</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>)]</span>
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">electrum_client</span>::<span class="ident">Error</span>, <span class="ident">Electrum</span>);
+<span class="macro">impl_error!</span>(<span class="ident">electrum_client::Error</span>, <span class="ident">Electrum</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"esplora"</span>)]</span>
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">esplora</span>::<span class="ident">EsploraError</span>, <span class="ident">Esplora</span>);
+<span class="macro">impl_error!</span>(<span class="kw">crate</span><span class="ident">::blockchain::esplora::EsploraError</span>, <span class="ident">Esplora</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"key-value-db"</span>)]</span>
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">sled</span>::<span class="ident">Error</span>, <span class="ident">Sled</span>);
+<span class="macro">impl_error!</span>(<span class="ident">sled::Error</span>, <span class="ident">Sled</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"compact_filters"</span>)]</span>
-<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">other</span>: <span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersError</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
+<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="kw">crate</span><span class="ident">::blockchain::compact_filters::CompactFiltersError</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Error</span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">other</span>: <span class="kw">crate</span><span class="ident">::blockchain::compact_filters::CompactFiltersError</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="kw">match</span> <span class="ident">other</span> {
- <span class="kw">crate</span>::<span class="ident">blockchain</span>::<span class="ident">compact_filters</span>::<span class="ident">CompactFiltersError</span>::<span class="ident">Global</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">e</span>,
- <span class="ident">err</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error</span>::<span class="ident">CompactFilters</span>(<span class="ident">err</span>),
+ <span class="kw">crate</span><span class="ident">::blockchain::compact_filters::CompactFiltersError::Global</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">e</span>,
+ <span class="ident">err</span> <span class="op">=</span><span class="op">></span> <span class="ident">Error::CompactFilters</span>(<span class="ident">err</span>),
}
}
}
<!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="Source of the Rust file `src/keys/bip39.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>bip39.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// TODO: maybe write our own implementation of bip39? Seems stupid to have an extra dependency for</span>
<span class="comment">// something that should be fairly simple to re-implement.</span>
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Network</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::Network</span>;
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">ScriptContext</span>;
+<span class="kw">use</span> <span class="ident">miniscript::ScriptContext</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Language</span>, <span class="ident">Mnemonic</span>, <span class="ident">MnemonicType</span>, <span class="ident">Seed</span>};
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"keys-bip39"</span>)))]</span>
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Seed</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>(<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">new_master</span>(<span class="ident">Network</span>::<span class="ident">Bitcoin</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">as_bytes</span>())<span class="question-mark">?</span>.<span class="ident">into</span>())
+ <span class="prelude-val">Ok</span>(<span class="ident">bip32::ExtendedPrivKey::new_master</span>(<span class="ident">Network::Bitcoin</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">as_bytes</span>())<span class="question-mark">?</span>.<span class="ident">into</span>())
}
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor_key</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span>
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">MnemonicWithPassphrase</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">mnemonic</span>, <span class="ident">passphrase</span>) <span class="op">=</span> <span class="self">self</span>;
- <span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> <span class="ident">Seed</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">mnemonic</span>, <span class="ident">passphrase</span>.<span class="ident">as_deref</span>().<span class="ident">unwrap_or</span>(<span class="string">""</span>));
+ <span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> <span class="ident">Seed::new</span>(<span class="kw-2">&</span><span class="ident">mnemonic</span>, <span class="ident">passphrase</span>.<span class="ident">as_deref</span>().<span class="ident">unwrap_or</span>(<span class="string">""</span>));
<span class="ident">seed</span>.<span class="ident">into_extended_key</span>()
}
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor_key</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span>
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">source</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor_key</span> <span class="op">=</span> <span class="self">self</span>
.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span>
<span class="kw">type</span> <span class="ident">Entropy</span> <span class="op">=</span> [<span class="ident">u8</span>; <span class="number">32</span>];
<span class="kw">type</span> <span class="ident">Options</span> <span class="op">=</span> (<span class="ident">MnemonicType</span>, <span class="ident">Language</span>);
- <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip39</span>::<span class="ident">ErrorKind</span><span class="op">></span>;
+ <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip39::ErrorKind</span><span class="op">></span>;
<span class="kw">fn</span> <span class="ident">generate_with_entropy</span>(
- (<span class="ident">mnemonic_type</span>, <span class="ident">language</span>): <span class="self">Self</span>::<span class="ident">Options</span>,
- <span class="ident">entropy</span>: <span class="self">Self</span>::<span class="ident">Entropy</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
+ (<span class="ident">mnemonic_type</span>, <span class="ident">language</span>): <span class="self">Self</span><span class="ident">::Options</span>,
+ <span class="ident">entropy</span>: <span class="self">Self</span><span class="ident">::Entropy</span>,
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">entropy</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">entropy</span>.<span class="ident">as_ref</span>()[..(<span class="ident">mnemonic_type</span>.<span class="ident">entropy_bits</span>() <span class="op">/</span> <span class="number">8</span>)];
- <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_entropy</span>(<span class="ident">entropy</span>, <span class="ident">language</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">e</span>.<span class="ident">downcast</span>().<span class="ident">ok</span>())<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_entropy</span>(<span class="ident">entropy</span>, <span class="ident">language</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">e</span>.<span class="ident">downcast</span>().<span class="ident">ok</span>())<span class="question-mark">?</span>;
- <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey</span>::<span class="ident">new</span>(<span class="ident">mnemonic</span>, <span class="ident">any_network</span>()))
+ <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey::new</span>(<span class="ident">mnemonic</span>, <span class="ident">any_network</span>()))
}
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
<span class="kw">use</span> <span class="ident">bip39</span>::{<span class="ident">Language</span>, <span class="ident">Mnemonic</span>, <span class="ident">MnemonicType</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">any_network</span>, <span class="ident">GeneratableKey</span>, <span class="ident">GeneratedKey</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">any_network</span>, <span class="ident">GeneratableKey</span>, <span class="ident">GeneratedKey</span>};
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_bip39_mnemonic</span>() {
<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span>
<span class="string">"aim bunker wash balance finish force paper analyst cabin spoon stable organ"</span>;
- <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_phrase</span>(<span class="ident">mnemonic</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/44'/0'/0'/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_phrase</span>(<span class="ident">mnemonic</span>, <span class="ident">Language::English</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/44'/0'/0'/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> (<span class="ident">mnemonic</span>, <span class="ident">path</span>);
- <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keys</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh([be83839f/44'/0'/0']xpub6DCQ1YcqvZtSwGWMrwHELPehjWV3f2MGZ69yBADTxFEUAoLwb5Mp5GniQK6tTp3AgbngVz9zEFbBJUPVnkG7LFYt8QMTfbrNqs6FNEwAPKA/0/*)#0r8v4nkv"</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">keys</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">networks</span>.<span class="ident">len</span>(), <span class="number">4</span>);
+ <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keys</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh([be83839f/44'/0'/0']xpub6DCQ1YcqvZtSwGWMrwHELPehjWV3f2MGZ69yBADTxFEUAoLwb5Mp5GniQK6tTp3AgbngVz9zEFbBJUPVnkG7LFYt8QMTfbrNqs6FNEwAPKA/0/*)#0r8v4nkv"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">keys</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">networks</span>.<span class="ident">len</span>(), <span class="number">4</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_bip39_mnemonic_passphrase</span>() {
<span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span>
<span class="string">"aim bunker wash balance finish force paper analyst cabin spoon stable organ"</span>;
- <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic</span>::<span class="ident">from_phrase</span>(<span class="ident">mnemonic</span>, <span class="ident">Language</span>::<span class="ident">English</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/44'/0'/0'/0"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">mnemonic</span> <span class="op">=</span> <span class="ident">Mnemonic::from_phrase</span>(<span class="ident">mnemonic</span>, <span class="ident">Language::English</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="string">"m/44'/0'/0'/0"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> ((<span class="ident">mnemonic</span>, <span class="prelude-val">Some</span>(<span class="string">"passphrase"</span>.<span class="ident">into</span>())), <span class="ident">path</span>);
- <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keys</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh([8f6cb80c/44'/0'/0']xpub6DWYS8bbihFevy29M4cbw4ZR3P5E12jB8R88gBDWCTCNpYiDHhYWNywrCF9VZQYagzPmsZpxXpytzSoxynyeFr4ZyzheVjnpLKuse4fiwZw/0/*)#h0j0tg5m"</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">keys</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">networks</span>.<span class="ident">len</span>(), <span class="number">4</span>);
+ <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keys</span>, <span class="ident">networks</span>) <span class="op">=</span> <span class="kw">crate</span><span class="macro">::descriptor!</span>(<span class="ident">wpkh</span>(<span class="ident">key</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">desc</span>.<span class="ident">to_string</span>(), <span class="string">"wpkh([8f6cb80c/44'/0'/0']xpub6DWYS8bbihFevy29M4cbw4ZR3P5E12jB8R88gBDWCTCNpYiDHhYWNywrCF9VZQYagzPmsZpxXpytzSoxynyeFr4ZyzheVjnpLKuse4fiwZw/0/*)#h0j0tg5m"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">keys</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">networks</span>.<span class="ident">len</span>(), <span class="number">4</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_generate_bip39</span>() {
- <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">Mnemonic</span>::<span class="ident">generate_with_entropy</span>(
- (<span class="ident">MnemonicType</span>::<span class="ident">Words12</span>, <span class="ident">Language</span>::<span class="ident">English</span>),
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">test</span>::<span class="ident">TEST_ENTROPY</span>,
+ <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">Mnemonic::generate_with_entropy</span>(
+ (<span class="ident">MnemonicType::Words12</span>, <span class="ident">Language::English</span>),
+ <span class="kw">crate</span><span class="ident">::keys::test::TEST_ENTROPY</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="macro">assert_eq!</span>(
<span class="ident">generated_mnemonic</span>.<span class="ident">to_string</span>(),
<span class="string">"primary fetch primary fetch primary fetch primary fetch primary fetch primary fever"</span>
);
- <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">Mnemonic</span>::<span class="ident">generate_with_entropy</span>(
- (<span class="ident">MnemonicType</span>::<span class="ident">Words24</span>, <span class="ident">Language</span>::<span class="ident">English</span>),
- <span class="kw">crate</span>::<span class="ident">keys</span>::<span class="ident">test</span>::<span class="ident">TEST_ENTROPY</span>,
+ <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">Mnemonic::generate_with_entropy</span>(
+ (<span class="ident">MnemonicType::Words24</span>, <span class="ident">Language::English</span>),
+ <span class="kw">crate</span><span class="ident">::keys::test::TEST_ENTROPY</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">to_string</span>(), <span class="string">"primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary foster"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">to_string</span>(), <span class="string">"primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary fetch primary foster"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_generate_bip39_random</span>() {
- <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">Mnemonic</span>::<span class="ident">generate</span>((<span class="ident">MnemonicType</span>::<span class="ident">Words12</span>, <span class="ident">Language</span>::<span class="ident">English</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">Mnemonic::generate</span>((<span class="ident">MnemonicType::Words12</span>, <span class="ident">Language::English</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
- <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">Mnemonic</span>::<span class="ident">generate</span>((<span class="ident">MnemonicType</span>::<span class="ident">Words24</span>, <span class="ident">Language</span>::<span class="ident">English</span>)).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="kw">let</span> <span class="ident">generated_mnemonic</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">Mnemonic::generate</span>((<span class="ident">MnemonicType::Words24</span>, <span class="ident">Language::English</span>)).<span class="ident">unwrap</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_mnemonic</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
}
}
</pre></div>
<!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="Source of the Rust file `src/keys/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! Key formats</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">any</span>::<span class="ident">TypeId</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Deref</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+<span class="kw">use</span> <span class="ident">std::any::TypeId</span>;
+<span class="kw">use</span> <span class="ident">std::collections::HashSet</span>;
+<span class="kw">use</span> <span class="ident">std::marker::PhantomData</span>;
+<span class="kw">use</span> <span class="ident">std::ops::Deref</span>;
+<span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::{<span class="self">self</span>, <span class="ident">Secp256k1</span>, <span class="ident">Signing</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::secp256k1</span>::{<span class="self">self</span>, <span class="ident">Secp256k1</span>, <span class="ident">Signing</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Network</span>, <span class="ident">PrivateKey</span>, <span class="ident">PublicKey</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">Wildcard</span>};
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{
+<span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">Wildcard</span>};
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{
<span class="ident">DescriptorPublicKey</span>, <span class="ident">DescriptorSecretKey</span>, <span class="ident">DescriptorSinglePriv</span>, <span class="ident">DescriptorSinglePub</span>, <span class="ident">KeyMap</span>,
<span class="ident">SortedMultiVec</span>,
};
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">ScriptContext</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">miniscript::ScriptContext</span>;
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">Miniscript</span>, <span class="ident">Terminal</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{<span class="ident">CheckMiniscript</span>, <span class="ident">DescriptorError</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">utils</span>::<span class="ident">SecpCtx</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{<span class="ident">CheckMiniscript</span>, <span class="ident">DescriptorError</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::utils::SecpCtx</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"keys-bip39"</span>)]</span>
<span class="attribute">#[<span class="ident">cfg_attr</span>(<span class="ident">docsrs</span>, <span class="ident">doc</span>(<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"keys-bip39"</span>)))]</span>
<span class="doccomment">/// Create a set containing mainnet, testnet and regtest</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">any_network</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ValidNetworks</span> {
- <span class="macro">vec</span><span class="macro">!</span>[
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">Network</span>::<span class="ident">Regtest</span>,
- <span class="ident">Network</span>::<span class="ident">Signet</span>,
+ <span class="macro">vec!</span>[
+ <span class="ident">Network::Bitcoin</span>,
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">Network::Regtest</span>,
+ <span class="ident">Network::Signet</span>,
]
.<span class="ident">into_iter</span>()
.<span class="ident">collect</span>()
}
<span class="doccomment">/// Create a set only containing mainnet</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">mainnet_network</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ValidNetworks</span> {
- <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Network</span>::<span class="ident">Bitcoin</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>()
+ <span class="macro">vec!</span>[<span class="ident">Network::Bitcoin</span>].<span class="ident">into_iter</span>().<span class="ident">collect</span>()
}
<span class="doccomment">/// Create a set containing testnet and regtest</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">test_networks</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ValidNetworks</span> {
- <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">Network</span>::<span class="ident">Regtest</span>, <span class="ident">Network</span>::<span class="ident">Signet</span>]
+ <span class="macro">vec!</span>[<span class="ident">Network::Testnet</span>, <span class="ident">Network::Regtest</span>, <span class="ident">Network::Signet</span>]
.<span class="ident">into_iter</span>()
.<span class="ident">collect</span>()
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
<span class="doccomment">/// Create an instance given a public key and a set of valid networks</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">from_public</span>(<span class="ident">public</span>: <span class="ident">DescriptorPublicKey</span>, <span class="ident">networks</span>: <span class="ident">ValidNetworks</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">DescriptorKey</span>::<span class="ident">Public</span>(<span class="ident">public</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>)
+ <span class="ident">DescriptorKey::Public</span>(<span class="ident">public</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>)
}
<span class="doccomment">/// Create an instance given a secret key and a set of valid networks</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">from_secret</span>(<span class="ident">secret</span>: <span class="ident">DescriptorSecretKey</span>, <span class="ident">networks</span>: <span class="ident">ValidNetworks</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">DescriptorKey</span>::<span class="ident">Secret</span>(<span class="ident">secret</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>)
+ <span class="ident">DescriptorKey::Secret</span>(<span class="ident">secret</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>)
}
<span class="doccomment">/// Override the computed set of valid networks</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">override_valid_networks</span>(<span class="self">self</span>, <span class="ident">networks</span>: <span class="ident">ValidNetworks</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">DescriptorKey</span>::<span class="ident">Public</span>(<span class="ident">key</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorKey</span>::<span class="ident">Public</span>(<span class="ident">key</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>),
- <span class="ident">DescriptorKey</span>::<span class="ident">Secret</span>(<span class="ident">key</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorKey</span>::<span class="ident">Secret</span>(<span class="ident">key</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>),
+ <span class="ident">DescriptorKey::Public</span>(<span class="ident">key</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorKey::Public</span>(<span class="ident">key</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>),
+ <span class="ident">DescriptorKey::Secret</span>(<span class="ident">key</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorKey::Secret</span>(<span class="ident">key</span>, <span class="ident">networks</span>, <span class="ident">PhantomData</span>),
}
}
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">DescriptorPublicKey</span>, <span class="ident">KeyMap</span>, <span class="ident">ValidNetworks</span>), <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">DescriptorKey</span>::<span class="ident">Public</span>(<span class="ident">public</span>, <span class="ident">valid_networks</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
- <span class="prelude-val">Ok</span>((<span class="ident">public</span>, <span class="ident">KeyMap</span>::<span class="ident">default</span>(), <span class="ident">valid_networks</span>))
+ <span class="ident">DescriptorKey::Public</span>(<span class="ident">public</span>, <span class="ident">valid_networks</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="prelude-val">Ok</span>((<span class="ident">public</span>, <span class="ident">KeyMap::default</span>(), <span class="ident">valid_networks</span>))
}
- <span class="ident">DescriptorKey</span>::<span class="ident">Secret</span>(<span class="ident">secret</span>, <span class="ident">valid_networks</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">key_map</span> <span class="op">=</span> <span class="ident">KeyMap</span>::<span class="ident">with_capacity</span>(<span class="number">1</span>);
+ <span class="ident">DescriptorKey::Secret</span>(<span class="ident">secret</span>, <span class="ident">valid_networks</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">key_map</span> <span class="op">=</span> <span class="ident">KeyMap::with_capacity</span>(<span class="number">1</span>);
<span class="kw">let</span> <span class="ident">public</span> <span class="op">=</span> <span class="ident">secret</span>
.<span class="ident">as_public</span>(<span class="ident">secp</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">miniscript</span>::<span class="ident">Error</span>::<span class="ident">Unexpected</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>;
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">miniscript::Error::Unexpected</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>;
<span class="ident">key_map</span>.<span class="ident">insert</span>(<span class="ident">public</span>.<span class="ident">clone</span>(), <span class="ident">secret</span>);
<span class="prelude-val">Ok</span>((<span class="ident">public</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>))
<span class="kw">impl</span> <span class="ident">ScriptContextEnum</span> {
<span class="doccomment">/// Returns whether the script context is [`ScriptContextEnum::Legacy`]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">is_legacy</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">ScriptContextEnum</span>::<span class="ident">Legacy</span>
+ <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">ScriptContextEnum::Legacy</span>
}
<span class="doccomment">/// Returns whether the script context is [`ScriptContextEnum::Segwitv0`]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">is_segwit_v0</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">ScriptContextEnum</span>::<span class="ident">Segwitv0</span>
+ <span class="self">self</span> <span class="op">=</span><span class="op">=</span> <span class="kw-2">&</span><span class="ident">ScriptContextEnum::Segwitv0</span>
}
}
<span class="doccomment">/// Returns whether the script context is [`Legacy`](miniscript::Legacy)</span>
<span class="kw">fn</span> <span class="ident">is_legacy</span>() <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="self">Self</span>::<span class="ident">as_enum</span>().<span class="ident">is_legacy</span>()
+ <span class="self">Self</span><span class="ident">::as_enum</span>().<span class="ident">is_legacy</span>()
}
<span class="doccomment">/// Returns whether the script context is [`Segwitv0`](miniscript::Segwitv0)</span>
<span class="kw">fn</span> <span class="ident">is_segwit_v0</span>() <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="self">Self</span>::<span class="ident">as_enum</span>().<span class="ident">is_segwit_v0</span>()
+ <span class="self">Self</span><span class="ident">::as_enum</span>().<span class="ident">is_segwit_v0</span>()
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">+</span> <span class="lifetime">'static</span><span class="op">></span> <span class="ident">ExtScriptContext</span> <span class="kw">for</span> <span class="ident">Ctx</span> {
<span class="kw">fn</span> <span class="ident">as_enum</span>() <span class="op">-</span><span class="op">></span> <span class="ident">ScriptContextEnum</span> {
- <span class="kw">match</span> <span class="ident">TypeId</span>::<span class="ident">of</span>::<span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>() {
- <span class="ident">t</span> <span class="kw">if</span> <span class="ident">t</span> <span class="op">=</span><span class="op">=</span> <span class="ident">TypeId</span>::<span class="ident">of</span>::<span class="op"><</span><span class="ident">miniscript</span>::<span class="ident">Legacy</span><span class="op">></span>() <span class="op">=</span><span class="op">></span> <span class="ident">ScriptContextEnum</span>::<span class="ident">Legacy</span>,
- <span class="ident">t</span> <span class="kw">if</span> <span class="ident">t</span> <span class="op">=</span><span class="op">=</span> <span class="ident">TypeId</span>::<span class="ident">of</span>::<span class="op"><</span><span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span>() <span class="op">=</span><span class="op">></span> <span class="ident">ScriptContextEnum</span>::<span class="ident">Segwitv0</span>,
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented</span><span class="macro">!</span>(<span class="string">"Unknown ScriptContext type"</span>),
+ <span class="kw">match</span> <span class="ident">TypeId::of</span>::<span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>() {
+ <span class="ident">t</span> <span class="kw">if</span> <span class="ident">t</span> <span class="op">=</span><span class="op">=</span> <span class="ident">TypeId::of</span>::<span class="op"><</span><span class="ident">miniscript::Legacy</span><span class="op">></span>() <span class="op">=</span><span class="op">></span> <span class="ident">ScriptContextEnum::Legacy</span>,
+ <span class="ident">t</span> <span class="kw">if</span> <span class="ident">t</span> <span class="op">=</span><span class="op">=</span> <span class="ident">TypeId::of</span>::<span class="op"><</span><span class="ident">miniscript::Segwitv0</span><span class="op">></span>() <span class="op">=</span><span class="op">></span> <span class="ident">ScriptContextEnum::Segwitv0</span>,
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="macro">unimplemented!</span>(<span class="string">"Unknown ScriptContext type"</span>),
}
}
}
<span class="doccomment">/// or an [`ExtendedPubKey`](bip32::ExtendedPubKey) by using the `From` trait.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// Defaults to the [`Legacy`](miniscript::Legacy) context.</span>
-<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">=</span> <span class="ident">miniscript</span>::<span class="ident">Legacy</span><span class="op">></span> {
+<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">=</span> <span class="ident">miniscript::Legacy</span><span class="op">></span> {
<span class="doccomment">/// A private extended key, aka an `xprv`</span>
- <span class="ident">Private</span>((<span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>, <span class="ident">PhantomData</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>)),
+ <span class="ident">Private</span>((<span class="ident">bip32::ExtendedPrivKey</span>, <span class="ident">PhantomData</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>)),
<span class="doccomment">/// A public extended key, aka an `xpub`</span>
- <span class="ident">Public</span>((<span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>, <span class="ident">PhantomData</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>)),
+ <span class="ident">Public</span>((<span class="ident">bip32::ExtendedPubKey</span>, <span class="ident">PhantomData</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>)),
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
<span class="doccomment">/// Return whether or not the key contains the private data</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">has_secret</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Private</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
- <span class="ident">ExtendedKey</span>::<span class="ident">Public</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="bool-val">false</span>,
+ <span class="ident">ExtendedKey::Private</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
+ <span class="ident">ExtendedKey::Public</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="bool-val">false</span>,
}
}
<span class="doccomment">/// Transform the [`ExtendedKey`] into an [`ExtendedPrivKey`](bip32::ExtendedPrivKey) for the</span>
<span class="doccomment">/// given [`Network`], if the key contains the private data</span>
- <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">into_xprv</span>(<span class="self">self</span>, <span class="ident">network</span>: <span class="ident">Network</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span><span class="op">></span> {
+ <span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">into_xprv</span>(<span class="self">self</span>, <span class="ident">network</span>: <span class="ident">Network</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::ExtendedPrivKey</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Private</span>((<span class="kw-2">mut</span> <span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">ExtendedKey::Private</span>((<span class="kw-2">mut</span> <span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> {
<span class="ident">xprv</span>.<span class="ident">network</span> <span class="op">=</span> <span class="ident">network</span>;
<span class="prelude-val">Some</span>(<span class="ident">xprv</span>)
}
- <span class="ident">ExtendedKey</span>::<span class="ident">Public</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
+ <span class="ident">ExtendedKey::Public</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
}
}
<span class="doccomment">/// given [`Network`]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">into_xpub</span><span class="op"><</span><span class="ident">C</span>: <span class="ident">Signing</span><span class="op">></span>(
<span class="self">self</span>,
- <span class="ident">network</span>: <span class="ident">bitcoin</span>::<span class="ident">Network</span>,
+ <span class="ident">network</span>: <span class="ident">bitcoin::Network</span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">Secp256k1</span><span class="op"><</span><span class="ident">C</span><span class="op">></span>,
- ) <span class="op">-</span><span class="op">></span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span> {
+ ) <span class="op">-</span><span class="op">></span> <span class="ident">bip32::ExtendedPubKey</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">xpub</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Private</span>((<span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_private</span>(<span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">xprv</span>),
- <span class="ident">ExtendedKey</span>::<span class="ident">Public</span>((<span class="ident">xpub</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">xpub</span>,
+ <span class="ident">ExtendedKey::Private</span>((<span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">bip32::ExtendedPubKey::from_private</span>(<span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">xprv</span>),
+ <span class="ident">ExtendedKey::Public</span>((<span class="ident">xpub</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">xpub</span>,
};
<span class="ident">xpub</span>.<span class="ident">network</span> <span class="op">=</span> <span class="ident">network</span>;
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">xpub</span>: <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Public</span>((<span class="ident">xpub</span>, <span class="ident">PhantomData</span>))
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">bip32::ExtendedPubKey</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">xpub</span>: <span class="ident">bip32::ExtendedPubKey</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
+ <span class="ident">ExtendedKey::Public</span>((<span class="ident">xpub</span>, <span class="ident">PhantomData</span>))
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">xprv</span>: <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Private</span>((<span class="ident">xprv</span>, <span class="ident">PhantomData</span>))
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">bip32::ExtendedPrivKey</span><span class="op">></span> <span class="kw">for</span> <span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">xprv</span>: <span class="ident">bip32::ExtendedPrivKey</span>) <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
+ <span class="ident">ExtendedKey::Private</span>((<span class="ident">xprv</span>, <span class="ident">PhantomData</span>))
}
}
<span class="doccomment">/// [`DerivationPath`]: (bip32::DerivationPath)</span>
<span class="doccomment">/// [`ExtendedPrivKey`]: (bip32::ExtendedPrivKey)</span>
<span class="doccomment">/// [`ExtendedPubKey`]: (bip32::ExtendedPubKey)</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">=</span> <span class="ident">miniscript</span>::<span class="ident">Legacy</span><span class="op">></span>: <span class="ident">Sized</span> {
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span> <span class="op">=</span> <span class="ident">miniscript::Legacy</span><span class="op">></span>: <span class="ident">Sized</span> {
<span class="doccomment">/// Consume `self` and turn it into an [`ExtendedKey`]</span>
<span class="doccomment">///</span>
<span class="doccomment">/// This can be used to get direct access to `xprv`s and `xpub`s for types that implement this trait,</span>
<span class="doccomment">/// key origin and derivation path</span>
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">origin</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">origin</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">match</span> <span class="self">self</span>.<span class="ident">into_extended_key</span>()<span class="question-mark">?</span> {
- <span class="ident">ExtendedKey</span>::<span class="ident">Private</span>((<span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorSecretKey</span>::<span class="ident">XPrv</span>(<span class="ident">DescriptorXKey</span> {
+ <span class="ident">ExtendedKey::Private</span>((<span class="ident">xprv</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorSecretKey::XPrv</span>(<span class="ident">DescriptorXKey</span> {
<span class="ident">origin</span>,
<span class="ident">xkey</span>: <span class="ident">xprv</span>,
<span class="ident">derivation_path</span>,
- <span class="ident">wildcard</span>: <span class="ident">Wildcard</span>::<span class="ident">Unhardened</span>,
+ <span class="ident">wildcard</span>: <span class="ident">Wildcard::Unhardened</span>,
})
.<span class="ident">into_descriptor_key</span>(),
- <span class="ident">ExtendedKey</span>::<span class="ident">Public</span>((<span class="ident">xpub</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">DescriptorXKey</span> {
+ <span class="ident">ExtendedKey::Public</span>((<span class="ident">xpub</span>, <span class="kw">_</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">DescriptorXKey</span> {
<span class="ident">origin</span>,
<span class="ident">xkey</span>: <span class="ident">xpub</span>,
<span class="ident">derivation_path</span>,
- <span class="ident">wildcard</span>: <span class="ident">Wildcard</span>::<span class="ident">Unhardened</span>,
+ <span class="ident">wildcard</span>: <span class="ident">Wildcard::Unhardened</span>,
})
.<span class="ident">into_descriptor_key</span>(),
}
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span> {
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32::ExtendedPubKey</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">into</span>())
}
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span> {
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32::ExtendedPrivKey</span> {
<span class="kw">fn</span> <span class="ident">into_extended_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">ExtendedKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">into</span>())
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">K</span>, <span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">Deref</span> <span class="kw">for</span> <span class="ident">GeneratedKey</span><span class="op"><</span><span class="ident">K</span>, <span class="ident">Ctx</span><span class="op">></span> {
<span class="kw">type</span> <span class="ident">Target</span> <span class="op">=</span> <span class="ident">K</span>;
- <span class="kw">fn</span> <span class="ident">deref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Target</span> {
+ <span class="kw">fn</span> <span class="ident">deref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="self">Self</span><span class="ident">::Target</span> {
<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">key</span>
}
}
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(
<span class="self">self</span>,
- <span class="ident">origin</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32</span>::<span class="ident">KeySource</span><span class="op">></span>,
- <span class="ident">derivation_path</span>: <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>,
+ <span class="ident">origin</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">bip32::KeySource</span><span class="op">></span>,
+ <span class="ident">derivation_path</span>: <span class="ident">bip32::DerivationPath</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">descriptor_key</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">key</span>.<span class="ident">into_descriptor_key</span>(<span class="ident">origin</span>, <span class="ident">derivation_path</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">descriptor_key</span>.<span class="ident">override_valid_networks</span>(<span class="self">self</span>.<span class="ident">valid_networks</span>))
<span class="doccomment">/// Extra options required by the `generate_with_entropy`</span>
<span class="kw">type</span> <span class="ident">Options</span>;
<span class="doccomment">/// Returned error in case of failure</span>
- <span class="kw">type</span> <span class="ident">Error</span>: <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Debug</span>;
+ <span class="kw">type</span> <span class="ident">Error</span>: <span class="ident">std::fmt::Debug</span>;
<span class="doccomment">/// Generate a key given the extra options and the entropy</span>
<span class="kw">fn</span> <span class="ident">generate_with_entropy</span>(
- <span class="ident">options</span>: <span class="self">Self</span>::<span class="ident">Options</span>,
- <span class="ident">entropy</span>: <span class="self">Self</span>::<span class="ident">Entropy</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span>;
+ <span class="ident">options</span>: <span class="self">Self</span><span class="ident">::Options</span>,
+ <span class="ident">entropy</span>: <span class="self">Self</span><span class="ident">::Entropy</span>,
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span>;
<span class="doccomment">/// Generate a key given the options with a random entropy</span>
- <span class="kw">fn</span> <span class="ident">generate</span>(<span class="ident">options</span>: <span class="self">Self</span>::<span class="ident">Options</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">fn</span> <span class="ident">generate</span>(<span class="ident">options</span>: <span class="self">Self</span><span class="ident">::Options</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">thread_rng</span>, <span class="ident">Rng</span>};
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">entropy</span> <span class="op">=</span> <span class="self">Self</span>::<span class="ident">Entropy</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">entropy</span> <span class="op">=</span> <span class="self">Self</span><span class="ident">::Entropy::default</span>();
<span class="ident">thread_rng</span>().<span class="ident">fill</span>(<span class="ident">entropy</span>.<span class="ident">as_mut</span>());
- <span class="self">Self</span>::<span class="ident">generate_with_entropy</span>(<span class="ident">options</span>, <span class="ident">entropy</span>)
+ <span class="self">Self</span><span class="ident">::generate_with_entropy</span>(<span class="ident">options</span>, <span class="ident">entropy</span>)
}
}
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">GeneratableDefaultOptions</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>: <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>
<span class="kw">where</span>
<span class="ident">Ctx</span>: <span class="ident">ScriptContext</span>,
- <span class="op"><</span><span class="self">Self</span> <span class="kw">as</span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span>::<span class="ident">Options</span>: <span class="ident">Default</span>,
+ <span class="op"><</span><span class="self">Self</span> <span class="kw">as</span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span><span class="ident">::Options</span>: <span class="ident">Default</span>,
{
<span class="doccomment">/// Generate a key with the default options and a given entropy</span>
<span class="kw">fn</span> <span class="ident">generate_with_entropy_default</span>(
- <span class="ident">entropy</span>: <span class="self">Self</span>::<span class="ident">Entropy</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="self">Self</span>::<span class="ident">generate_with_entropy</span>(<span class="ident">Default</span>::<span class="ident">default</span>(), <span class="ident">entropy</span>)
+ <span class="ident">entropy</span>: <span class="self">Self</span><span class="ident">::Entropy</span>,
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
+ <span class="self">Self</span><span class="ident">::generate_with_entropy</span>(<span class="ident">Default::default</span>(), <span class="ident">entropy</span>)
}
<span class="doccomment">/// Generate a key with the default options and a random entropy</span>
- <span class="kw">fn</span> <span class="ident">generate_default</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
- <span class="self">Self</span>::<span class="ident">generate</span>(<span class="ident">Default</span>::<span class="ident">default</span>())
+ <span class="kw">fn</span> <span class="ident">generate_default</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
+ <span class="self">Self</span><span class="ident">::generate</span>(<span class="ident">Default::default</span>())
}
}
<span class="kw">where</span>
<span class="ident">Ctx</span>: <span class="ident">ScriptContext</span>,
<span class="ident">K</span>: <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>,
- <span class="op"><</span><span class="ident">K</span> <span class="kw">as</span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span>::<span class="ident">Options</span>: <span class="ident">Default</span>,
+ <span class="op"><</span><span class="ident">K</span> <span class="kw">as</span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span><span class="ident">::Options</span>: <span class="ident">Default</span>,
{
}
-<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span> {
+<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">bip32::ExtendedPrivKey</span> {
<span class="kw">type</span> <span class="ident">Entropy</span> <span class="op">=</span> [<span class="ident">u8</span>; <span class="number">32</span>];
<span class="kw">type</span> <span class="ident">Options</span> <span class="op">=</span> ();
- <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">Error</span>;
+ <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="ident">bip32::Error</span>;
<span class="kw">fn</span> <span class="ident">generate_with_entropy</span>(
- <span class="kw">_</span>: <span class="self">Self</span>::<span class="ident">Options</span>,
- <span class="ident">entropy</span>: <span class="self">Self</span>::<span class="ident">Entropy</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
+ <span class="kw">_</span>: <span class="self">Self</span><span class="ident">::Options</span>,
+ <span class="ident">entropy</span>: <span class="self">Self</span><span class="ident">::Entropy</span>,
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
<span class="comment">// pick a arbitrary network here, but say that we support all of them</span>
- <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">new_master</span>(<span class="ident">Network</span>::<span class="ident">Bitcoin</span>, <span class="ident">entropy</span>.<span class="ident">as_ref</span>())<span class="question-mark">?</span>;
- <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey</span>::<span class="ident">new</span>(<span class="ident">xprv</span>, <span class="ident">any_network</span>()))
+ <span class="kw">let</span> <span class="ident">xprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::new_master</span>(<span class="ident">Network::Bitcoin</span>, <span class="ident">entropy</span>.<span class="ident">as_ref</span>())<span class="question-mark">?</span>;
+ <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey::new</span>(<span class="ident">xprv</span>, <span class="ident">any_network</span>()))
}
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">GeneratableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">PrivateKey</span> {
- <span class="kw">type</span> <span class="ident">Entropy</span> <span class="op">=</span> [<span class="ident">u8</span>; <span class="ident">secp256k1</span>::<span class="ident">constants</span>::<span class="ident">SECRET_KEY_SIZE</span>];
+ <span class="kw">type</span> <span class="ident">Entropy</span> <span class="op">=</span> [<span class="ident">u8</span>; <span class="ident">secp256k1::constants::SECRET_KEY_SIZE</span>];
<span class="kw">type</span> <span class="ident">Options</span> <span class="op">=</span> <span class="ident">PrivateKeyGenerateOptions</span>;
- <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">Error</span>;
+ <span class="kw">type</span> <span class="ident">Error</span> <span class="op">=</span> <span class="ident">bip32::Error</span>;
<span class="kw">fn</span> <span class="ident">generate_with_entropy</span>(
- <span class="ident">options</span>: <span class="self">Self</span>::<span class="ident">Options</span>,
- <span class="ident">entropy</span>: <span class="self">Self</span>::<span class="ident">Entropy</span>,
- ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span>::<span class="ident">Error</span><span class="op">></span> {
+ <span class="ident">options</span>: <span class="self">Self</span><span class="ident">::Options</span>,
+ <span class="ident">entropy</span>: <span class="self">Self</span><span class="ident">::Entropy</span>,
+ ) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">GeneratedKey</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="self">Self</span><span class="ident">::Error</span><span class="op">></span> {
<span class="comment">// pick a arbitrary network here, but say that we support all of them</span>
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">secp256k1</span>::<span class="ident">SecretKey</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">entropy</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">secp256k1::SecretKey::from_slice</span>(<span class="kw-2">&</span><span class="ident">entropy</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">private_key</span> <span class="op">=</span> <span class="ident">PrivateKey</span> {
<span class="ident">compressed</span>: <span class="ident">options</span>.<span class="ident">compressed</span>,
- <span class="ident">network</span>: <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
+ <span class="ident">network</span>: <span class="ident">Network::Bitcoin</span>,
<span class="ident">key</span>,
};
- <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey</span>::<span class="ident">new</span>(<span class="ident">private_key</span>, <span class="ident">any_network</span>()))
+ <span class="prelude-val">Ok</span>(<span class="ident">GeneratedKey::new</span>(<span class="ident">private_key</span>, <span class="ident">any_network</span>()))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span>, <span class="ident">T</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>
- <span class="kw">for</span> (<span class="ident">T</span>, <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>)
+ <span class="kw">for</span> (<span class="ident">T</span>, <span class="ident">bip32::DerivationPath</span>)
{
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="self">self</span>.<span class="number">0</span>.<span class="ident">into_descriptor_key</span>(<span class="prelude-val">None</span>, <span class="self">self</span>.<span class="number">1</span>)
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span>, <span class="ident">T</span>: <span class="ident">DerivableKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>
- <span class="kw">for</span> (<span class="ident">T</span>, <span class="ident">bip32</span>::<span class="ident">KeySource</span>, <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>)
+ <span class="kw">for</span> (<span class="ident">T</span>, <span class="ident">bip32::KeySource</span>, <span class="ident">bip32::DerivationPath</span>)
{
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="self">self</span>.<span class="number">0</span>.<span class="ident">into_descriptor_key</span>(<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="number">1</span>), <span class="self">self</span>.<span class="number">2</span>)
.<span class="ident">unzip</span>();
<span class="kw">let</span> (<span class="ident">key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="ident">key_maps_networks</span>.<span class="ident">into_iter</span>().<span class="ident">fold</span>(
- (<span class="ident">KeyMap</span>::<span class="ident">default</span>(), <span class="ident">any_network</span>()),
+ (<span class="ident">KeyMap::default</span>(), <span class="ident">any_network</span>()),
<span class="op">|</span>(<span class="kw-2">mut</span> <span class="ident">keys_acc</span>, <span class="ident">net_acc</span>), (<span class="ident">key</span>, <span class="ident">net</span>)<span class="op">|</span> {
<span class="ident">keys_acc</span>.<span class="ident">extend</span>(<span class="ident">key</span>.<span class="ident">into_iter</span>());
<span class="kw">let</span> <span class="ident">net_acc</span> <span class="op">=</span> <span class="ident">merge_networks</span>(<span class="kw-2">&</span><span class="ident">net_acc</span>, <span class="kw-2">&</span><span class="ident">net</span>);
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">Miniscript</span><span class="op"><</span><span class="ident">DescriptorPublicKey</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyMap</span>, <span class="ident">ValidNetworks</span>), <span class="ident">DescriptorError</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">key</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="ident">descriptor_key</span>.<span class="ident">into_descriptor_key</span>()<span class="question-mark">?</span>.<span class="ident">extract</span>(<span class="ident">secp</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(<span class="ident">Terminal</span>::<span class="ident">PkK</span>(<span class="ident">key</span>))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="ident">Miniscript::from_ast</span>(<span class="ident">Terminal::PkK</span>(<span class="ident">key</span>))<span class="question-mark">?</span>;
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">Miniscript</span><span class="op"><</span><span class="ident">DescriptorPublicKey</span>, <span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyMap</span>, <span class="ident">ValidNetworks</span>), <span class="ident">DescriptorError</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">pks</span>, <span class="ident">key_map</span>, <span class="ident">valid_networks</span>) <span class="op">=</span> <span class="ident">expand_multi_keys</span>(<span class="ident">pks</span>, <span class="ident">secp</span>)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="ident">Miniscript</span>::<span class="ident">from_ast</span>(<span class="ident">Terminal</span>::<span class="ident">Multi</span>(<span class="ident">thresh</span>, <span class="ident">pks</span>))<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">minisc</span> <span class="op">=</span> <span class="ident">Miniscript::from_ast</span>(<span class="ident">Terminal::Multi</span>(<span class="ident">thresh</span>, <span class="ident">pks</span>))<span class="question-mark">?</span>;
<span class="ident">minisc</span>.<span class="ident">check_minsicript</span>()<span class="question-mark">?</span>;
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">DescriptorPublicKey</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">any_network</span>(),
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">XPub</span>(<span class="ident">DescriptorXKey</span> { <span class="ident">xkey</span>, .. })
- <span class="kw">if</span> <span class="ident">xkey</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network</span>::<span class="ident">Bitcoin</span> <span class="op">=</span><span class="op">></span>
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">any_network</span>(),
+ <span class="ident">DescriptorPublicKey::XPub</span>(<span class="ident">DescriptorXKey</span> { <span class="ident">xkey</span>, .. })
+ <span class="kw">if</span> <span class="ident">xkey</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network::Bitcoin</span> <span class="op">=</span><span class="op">></span>
{
<span class="ident">mainnet_network</span>()
}
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="ident">test_networks</span>(),
};
- <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey</span>::<span class="ident">from_public</span>(<span class="self">self</span>, <span class="ident">networks</span>))
+ <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey::from_public</span>(<span class="self">self</span>, <span class="ident">networks</span>))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">PublicKey</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="ident">DescriptorPublicKey</span>::<span class="ident">SinglePub</span>(<span class="ident">DescriptorSinglePub</span> {
+ <span class="ident">DescriptorPublicKey::SinglePub</span>(<span class="ident">DescriptorSinglePub</span> {
<span class="ident">key</span>: <span class="self">self</span>,
<span class="ident">origin</span>: <span class="prelude-val">None</span>,
})
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">DescriptorSecretKey</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">networks</span> <span class="op">=</span> <span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span> {
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">SinglePriv</span>(<span class="ident">sk</span>) <span class="kw">if</span> <span class="ident">sk</span>.<span class="ident">key</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network</span>::<span class="ident">Bitcoin</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">DescriptorSecretKey::SinglePriv</span>(<span class="ident">sk</span>) <span class="kw">if</span> <span class="ident">sk</span>.<span class="ident">key</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network::Bitcoin</span> <span class="op">=</span><span class="op">></span> {
<span class="ident">mainnet_network</span>()
}
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">XPrv</span>(<span class="ident">DescriptorXKey</span> { <span class="ident">xkey</span>, .. })
- <span class="kw">if</span> <span class="ident">xkey</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network</span>::<span class="ident">Bitcoin</span> <span class="op">=</span><span class="op">></span>
+ <span class="ident">DescriptorSecretKey::XPrv</span>(<span class="ident">DescriptorXKey</span> { <span class="ident">xkey</span>, .. })
+ <span class="kw">if</span> <span class="ident">xkey</span>.<span class="ident">network</span> <span class="op">=</span><span class="op">=</span> <span class="ident">Network::Bitcoin</span> <span class="op">=</span><span class="op">></span>
{
<span class="ident">mainnet_network</span>()
}
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="ident">test_networks</span>(),
};
- <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey</span>::<span class="ident">from_secret</span>(<span class="self">self</span>, <span class="ident">networks</span>))
+ <span class="prelude-val">Ok</span>(<span class="ident">DescriptorKey::from_secret</span>(<span class="self">self</span>, <span class="ident">networks</span>))
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="kw-2">&</span><span class="lifetime">'_</span> <span class="ident">str</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">from_str</span>(<span class="self">self</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">KeyError</span>::<span class="ident">Message</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>
+ <span class="ident">DescriptorSecretKey::from_str</span>(<span class="self">self</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="ident">e</span><span class="op">|</span> <span class="ident">KeyError::Message</span>(<span class="ident">e</span>.<span class="ident">to_string</span>()))<span class="question-mark">?</span>
.<span class="ident">into_descriptor_key</span>()
}
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span> <span class="ident">IntoDescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span> <span class="kw">for</span> <span class="ident">PrivateKey</span> {
<span class="kw">fn</span> <span class="ident">into_descriptor_key</span>(<span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">KeyError</span><span class="op">></span> {
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">SinglePriv</span>(<span class="ident">DescriptorSinglePriv</span> {
+ <span class="ident">DescriptorSecretKey::SinglePriv</span>(<span class="ident">DescriptorSinglePriv</span> {
<span class="ident">key</span>: <span class="self">self</span>,
<span class="ident">origin</span>: <span class="prelude-val">None</span>,
})
<span class="ident">Message</span>(<span class="ident">String</span>),
<span class="doccomment">/// BIP32 error</span>
- <span class="ident">Bip32</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>),
+ <span class="ident">Bip32</span>(<span class="ident">bitcoin::util::bip32::Error</span>),
<span class="doccomment">/// Miniscript error</span>
- <span class="ident">Miniscript</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>),
+ <span class="ident">Miniscript</span>(<span class="ident">miniscript::Error</span>),
}
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">miniscript</span>::<span class="ident">Error</span>, <span class="ident">Miniscript</span>, <span class="ident">KeyError</span>);
-<span class="macro">impl_error</span><span class="macro">!</span>(<span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::<span class="ident">Error</span>, <span class="ident">Bip32</span>, <span class="ident">KeyError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">miniscript::Error</span>, <span class="ident">Miniscript</span>, <span class="ident">KeyError</span>);
+<span class="macro">impl_error!</span>(<span class="ident">bitcoin::util::bip32::Error</span>, <span class="ident">Bip32</span>, <span class="ident">KeyError</span>);
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">KeyError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">std::fmt::Display</span> <span class="kw">for</span> <span class="ident">KeyError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">std::fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">std::fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">KeyError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">KeyError</span> {}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_generate_xprv</span>() {
- <span class="kw">let</span> <span class="ident">generated_xprv</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">generate_with_entropy_default</span>(<span class="ident">TEST_ENTROPY</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">generated_xprv</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">bip32::ExtendedPrivKey::generate_with_entropy_default</span>(<span class="ident">TEST_ENTROPY</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_xprv</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_xprv</span>.<span class="ident">to_string</span>(), <span class="string">"xprv9s21ZrQH143K4Xr1cJyqTvuL2FWR8eicgY9boWqMBv8MDVUZ65AXHnzBrK1nyomu6wdcabRgmGTaAKawvhAno1V5FowGpTLVx3jxzE5uk3Q"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_xprv</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_xprv</span>.<span class="ident">to_string</span>(), <span class="string">"xprv9s21ZrQH143K4Xr1cJyqTvuL2FWR8eicgY9boWqMBv8MDVUZ65AXHnzBrK1nyomu6wdcabRgmGTaAKawvhAno1V5FowGpTLVx3jxzE5uk3Q"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_keys_generate_wif</span>() {
- <span class="kw">let</span> <span class="ident">generated_wif</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript</span>::<span class="ident">Segwitv0</span><span class="op">></span> <span class="op">=</span>
- <span class="ident">bitcoin</span>::<span class="ident">PrivateKey</span>::<span class="ident">generate_with_entropy_default</span>(<span class="ident">TEST_ENTROPY</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">generated_wif</span>: <span class="ident">GeneratedKey</span><span class="op"><</span><span class="kw">_</span>, <span class="ident">miniscript::Segwitv0</span><span class="op">></span> <span class="op">=</span>
+ <span class="ident">bitcoin::PrivateKey::generate_with_entropy_default</span>(<span class="ident">TEST_ENTROPY</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">generated_wif</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">generated_wif</span>.<span class="ident">valid_networks</span>, <span class="ident">any_network</span>());
+ <span class="macro">assert_eq!</span>(
<span class="ident">generated_wif</span>.<span class="ident">to_string</span>(),
<span class="string">"L2wTu6hQrnDMiFNWA5na6jB12ErGQqtXwqpSL7aWquJaZG8Ai3ch"</span>
);
<!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="Source of the Rust file `src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs - source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">serde_json</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">all</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">"async-interface"</span>, <span class="ident">feature</span> <span class="op">=</span> <span class="string">"electrum"</span>))]</span>
-<span class="macro">compile_error</span><span class="macro">!</span>(
+<span class="macro">compile_error!</span>(
<span class="string">"Features async-interface and electrum are mutually exclusive and cannot be enabled together"</span>
);
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod</span> <span class="ident">types</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">wallet</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">descriptor</span>::<span class="ident">template</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">descriptor</span>::<span class="ident">HdKeyPaths</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">error</span>::<span class="ident">Error</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">descriptor::template</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">descriptor::HdKeyPaths</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">error::Error</span>;
<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">types</span>::<span class="kw-2">*</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet</span>::<span class="ident">address_validator</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet</span>::<span class="ident">signer</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet</span>::<span class="ident">tx_builder</span>::<span class="ident">TxBuilder</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet</span>::<span class="ident">Wallet</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet::address_validator</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet::signer</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet::tx_builder::TxBuilder</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">wallet::Wallet</span>;
<span class="doccomment">/// Get the version of BDK at runtime</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">version</span>() <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="lifetime">'static</span> <span class="ident">str</span> {
- <span class="macro">env</span><span class="macro">!</span>(<span class="string">"CARGO_PKG_VERSION"</span>, <span class="string">"unknown"</span>)
+ <span class="macro">env!</span>(<span class="string">"CARGO_PKG_VERSION"</span>, <span class="string">"unknown"</span>)
}
</pre></div>
</section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="bdk" data-search-js="../../search-index.js"></div>
<!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="Source of the Rust file `src/psbt/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">TxOut</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt::PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::TxOut</span>;
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">PsbtUtils</span> {
<span class="kw">fn</span> <span class="ident">get_utxo_for</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">input_index</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">TxOut</span><span class="op">></span>;
<!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="Source of the Rust file `src/types.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>types.rs - source</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">AsRef</span>;
+<span class="kw">use</span> <span class="ident">std::convert::AsRef</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">blockdata</span>::<span class="ident">transaction</span>::{<span class="ident">OutPoint</span>, <span class="ident">Transaction</span>, <span class="ident">TxOut</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">hash_types</span>::<span class="ident">Txid</span>, <span class="ident">util</span>::<span class="ident">psbt</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::blockdata::transaction</span>::{<span class="ident">OutPoint</span>, <span class="ident">Transaction</span>, <span class="ident">TxOut</span>};
+<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">hash_types::Txid</span>, <span class="ident">util::psbt</span>};
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Deserialize</span>, <span class="ident">Serialize</span>};
<span class="doccomment">/// Return [`KeychainKind`] as a byte</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">as_byte</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">u8</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> <span class="string">b'e'</span>,
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> <span class="string">b'i'</span>,
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> <span class="string">b'e'</span>,
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> <span class="string">b'i'</span>,
}
}
}
<span class="kw">impl</span> <span class="ident">AsRef</span><span class="op"><</span>[<span class="ident">u8</span>]<span class="op">></span> <span class="kw">for</span> <span class="ident">KeychainKind</span> {
<span class="kw">fn</span> <span class="ident">as_ref</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span>[<span class="ident">u8</span>] {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> <span class="string">b"e"</span>,
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> <span class="string">b"i"</span>,
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> <span class="string">b"e"</span>,
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> <span class="string">b"i"</span>,
}
}
}
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">default</span>::<span class="ident">Default</span> <span class="kw">for</span> <span class="ident">FeeRate</span> {
+<span class="kw">impl</span> <span class="ident">std::default::Default</span> <span class="kw">for</span> <span class="ident">FeeRate</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">FeeRate</span>::<span class="ident">default_min_relay_fee</span>()
+ <span class="ident">FeeRate::default_min_relay_fee</span>()
}
}
<span class="ident">outpoint</span>: <span class="ident">OutPoint</span>,
<span class="doccomment">/// The information about the input we require to add it to a PSBT.</span>
<span class="comment">// Box it to stop the type being too big.</span>
- <span class="ident">psbt_input</span>: <span class="ident">Box</span><span class="op"><</span><span class="ident">psbt</span>::<span class="ident">Input</span><span class="op">></span>,
+ <span class="ident">psbt_input</span>: <span class="ident">Box</span><span class="op"><</span><span class="ident">psbt::Input</span><span class="op">></span>,
},
}
<span class="doccomment">/// Get the location of the UTXO</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">outpoint</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">OutPoint</span> {
<span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span> {
- <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">local</span>) <span class="op">=</span><span class="op">></span> <span class="ident">local</span>.<span class="ident">outpoint</span>,
- <span class="ident">Utxo</span>::<span class="ident">Foreign</span> { <span class="ident">outpoint</span>, .. } <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">outpoint</span>,
+ <span class="ident">Utxo::Local</span>(<span class="ident">local</span>) <span class="op">=</span><span class="op">></span> <span class="ident">local</span>.<span class="ident">outpoint</span>,
+ <span class="ident">Utxo::Foreign</span> { <span class="ident">outpoint</span>, .. } <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">outpoint</span>,
}
}
<span class="doccomment">/// Get the `TxOut` of the UTXO</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">txout</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="ident">TxOut</span> {
<span class="kw">match</span> <span class="kw-2">&</span><span class="self">self</span> {
- <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">local</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="ident">local</span>.<span class="ident">txout</span>,
- <span class="ident">Utxo</span>::<span class="ident">Foreign</span> {
+ <span class="ident">Utxo::Local</span>(<span class="ident">local</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="ident">local</span>.<span class="ident">txout</span>,
+ <span class="ident">Utxo::Foreign</span> {
<span class="ident">outpoint</span>,
<span class="ident">psbt_input</span>,
} <span class="op">=</span><span class="op">></span> {
<span class="kw">return</span> <span class="kw-2">&</span><span class="ident">txout</span>;
}
- <span class="macro">unreachable</span><span class="macro">!</span>(<span class="string">"Foreign UTXOs will always have one of these set"</span>)
+ <span class="macro">unreachable!</span>(<span class="string">"Foreign UTXOs will always have one of these set"</span>)
}
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">can_store_feerate_in_const</span>() {
- <span class="kw">const</span> <span class="ident">_MY_RATE</span>: <span class="ident">FeeRate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">10.0</span>);
- <span class="kw">const</span> <span class="ident">_MIN_RELAY</span>: <span class="ident">FeeRate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">default_min_relay_fee</span>();
+ <span class="kw">const</span> <span class="ident">_MY_RATE</span>: <span class="ident">FeeRate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">10.0</span>);
+ <span class="kw">const</span> <span class="ident">_MIN_RELAY</span>: <span class="ident">FeeRate</span> <span class="op">=</span> <span class="ident">FeeRate::default_min_relay_fee</span>();
}
}
</pre></div>
<!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="Source of the Rust file `src/wallet/address_validator.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>address_validator.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Script</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::Script</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">HdKeyPaths</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">KeychainKind</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::HdKeyPaths</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types::KeychainKind</span>;
<span class="doccomment">/// Errors that can be returned to fail the validation of an address</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>)]</span>
<span class="ident">Message</span>(<span class="ident">String</span>),
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">AddressValidatorError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">AddressValidatorError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">AddressValidatorError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">AddressValidatorError</span> {}
<span class="doccomment">/// Trait to build address validators</span>
<span class="doccomment">///</span>
<span class="doccomment">/// validator will be propagated up to the original caller that triggered the address generation.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// For a usage example see [this module](crate::address_validator)'s documentation.</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">AddressValidator</span>: <span class="ident">Send</span> <span class="op">+</span> <span class="ident">Sync</span> <span class="op">+</span> <span class="ident">fmt</span>::<span class="ident">Debug</span> {
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">AddressValidator</span>: <span class="ident">Send</span> <span class="op">+</span> <span class="ident">Sync</span> <span class="op">+</span> <span class="ident">fmt::Debug</span> {
<span class="doccomment">/// Validate or inspect an address</span>
<span class="kw">fn</span> <span class="ident">validate</span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
+ <span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">test</span>::{<span class="ident">get_funded_wallet</span>, <span class="ident">get_test_wpkh</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">AddressIndex</span>::<span class="ident">New</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::test</span>::{<span class="ident">get_funded_wallet</span>, <span class="ident">get_test_wpkh</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::AddressIndex::New</span>;
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>)]</span>
<span class="kw">struct</span> <span class="ident">TestValidator</span>;
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">_keychain</span>: <span class="ident">KeychainKind</span>,
<span class="ident">_hd_keypaths</span>: <span class="kw-2">&</span><span class="ident">HdKeyPaths</span>,
- <span class="ident">_script</span>: <span class="kw-2">&</span><span class="ident">bitcoin</span>::<span class="ident">Script</span>,
+ <span class="ident">_script</span>: <span class="kw-2">&</span><span class="ident">bitcoin::Script</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">AddressValidatorError</span><span class="op">></span> {
- <span class="prelude-val">Err</span>(<span class="ident">AddressValidatorError</span>::<span class="ident">InvalidScript</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">AddressValidatorError::InvalidScript</span>)
}
}
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InvalidScript"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_address_validator_external</span>() {
<span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">TestValidator</span>));
+ <span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc::new</span>(<span class="ident">TestValidator</span>));
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InvalidScript"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_address_validator_internal</span>() {
<span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">TestValidator</span>));
+ <span class="ident">wallet</span>.<span class="ident">add_address_validator</span>(<span class="ident">Arc::new</span>(<span class="ident">TestValidator</span>));
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span>(@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">10</span>);
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="macro">testutils!</span>(@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">10</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<!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="Source of the Rust file `src/wallet/coin_selection.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>coin_selection.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">FeeRate</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">database</span>::<span class="ident">Database</span>, <span class="ident">WeightedUtxo</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">error</span>::<span class="ident">Error</span>, <span class="ident">Utxo</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types::FeeRate</span>;
+<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">database::Database</span>, <span class="ident">WeightedUtxo</span>};
+<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">error::Error</span>, <span class="ident">Utxo</span>};
-<span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">seq</span>::<span class="ident">SliceRandom</span>;
+<span class="kw">use</span> <span class="ident">rand::seq::SliceRandom</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">test</span>))]</span>
-<span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">thread_rng</span>;
+<span class="kw">use</span> <span class="ident">rand::thread_rng</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
-<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">rngs</span>::<span class="ident">StdRng</span>, <span class="ident">SeedableRng</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">convert</span>::<span class="ident">TryInto</span>;
+<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">rngs::StdRng</span>, <span class="ident">SeedableRng</span>};
+<span class="kw">use</span> <span class="ident">std::convert::TryInto</span>;
<span class="doccomment">/// Default coin selection algorithm used by [`TxBuilder`](super::tx_builder::TxBuilder) if not</span>
<span class="doccomment">/// overridden</span>
<span class="self">self</span>.<span class="ident">selected</span>
.<span class="ident">iter</span>()
.<span class="ident">filter_map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="kw">match</span> <span class="ident">u</span> {
- <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">u</span>.<span class="ident">txout</span>().<span class="ident">value</span>),
+ <span class="ident">Utxo::Local</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Some</span>(<span class="ident">u</span>.<span class="ident">txout</span>().<span class="ident">value</span>),
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">None</span>,
})
.<span class="ident">sum</span>()
<span class="doccomment">/// selection algorithm when it creates transactions.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// For an example see [this module](crate::wallet::coin_selection)'s documentation.</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">CoinSelectionAlgorithm</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>: <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Debug</span> {
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">CoinSelectionAlgorithm</span><span class="op"><</span><span class="ident">D</span>: <span class="ident">Database</span><span class="op">></span>: <span class="ident">std::fmt::Debug</span> {
<span class="doccomment">/// Perform the coin selection</span>
<span class="doccomment">///</span>
<span class="doccomment">/// - `database`: a reference to the wallet's database that can be used to lookup additional</span>
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">CoinSelectionResult</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">calc_fee_bytes</span> <span class="op">=</span> <span class="op">|</span><span class="ident">wu</span><span class="op">|</span> (<span class="ident">wu</span> <span class="kw">as</span> <span class="ident">f32</span>) <span class="op">*</span> <span class="ident">fee_rate</span>.<span class="ident">as_sat_vb</span>() <span class="op">/</span> <span class="number">4.0</span>;
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">log::debug!</span>(
<span class="string">"amount_needed = `{}`, fee_amount = `{}`, fee_rate = `{:?}`"</span>,
<span class="ident">amount_needed</span>,
<span class="ident">fee_amount</span>,
<span class="ident">calc_fee_bytes</span>(<span class="ident">TXIN_BASE_WEIGHT</span> <span class="op">+</span> <span class="ident">weighted_utxo</span>.<span class="ident">satisfaction_weight</span>);
<span class="kw-2">*</span><span class="kw-2">*</span><span class="ident">selected_amount</span> <span class="op">+</span><span class="op">=</span> <span class="ident">weighted_utxo</span>.<span class="ident">utxo</span>.<span class="ident">txout</span>().<span class="ident">value</span>;
- <span class="ident">log</span>::<span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">log::debug!</span>(
<span class="string">"Selected {}, updated fee_amount = `{}`"</span>,
<span class="ident">weighted_utxo</span>.<span class="ident">utxo</span>.<span class="ident">outpoint</span>(),
<span class="ident">fee_amount</span>
<span class="kw">let</span> <span class="ident">amount_needed_with_fees</span> <span class="op">=</span> <span class="ident">amount_needed</span> <span class="op">+</span> (<span class="ident">fee_amount</span>.<span class="ident">ceil</span>() <span class="kw">as</span> <span class="ident">u64</span>);
<span class="kw">if</span> <span class="ident">selected_amount</span> <span class="op"><</span> <span class="ident">amount_needed_with_fees</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InsufficientFunds</span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::InsufficientFunds</span> {
<span class="ident">needed</span>: <span class="ident">amount_needed_with_fees</span>,
<span class="ident">available</span>: <span class="ident">selected_amount</span>,
});
<span class="comment">// Mapping every (UTXO, usize) to an output group</span>
<span class="kw">let</span> <span class="ident">required_utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span> <span class="op">=</span> <span class="ident">required_utxos</span>
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="comment">// Mapping every (UTXO, usize) to an output group.</span>
<span class="kw">let</span> <span class="ident">optional_utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span> <span class="op">=</span> <span class="ident">optional_utxos</span>
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">curr_value</span> <span class="op">=</span> <span class="ident">required_utxos</span>
<span class="kw">let</span> <span class="ident">expected</span> <span class="op">=</span> (<span class="ident">curr_available_value</span> <span class="op">+</span> <span class="ident">curr_value</span>)
.<span class="ident">try_into</span>()
.<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
- <span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="string">"Sum of UTXO spendable values does not fit into u64"</span>.<span class="ident">to_string</span>())
+ <span class="ident">Error::Generic</span>(<span class="string">"Sum of UTXO spendable values does not fit into u64"</span>.<span class="ident">to_string</span>())
})<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">expected</span> <span class="op"><</span> <span class="ident">actual_target</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InsufficientFunds</span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::InsufficientFunds</span> {
<span class="ident">needed</span>: <span class="ident">actual_target</span>,
<span class="ident">available</span>: <span class="ident">expected</span>,
});
<span class="kw">impl</span> <span class="ident">BranchAndBoundCoinSelection</span> {
<span class="comment">// TODO: make this more Rust-onic :)</span>
<span class="comment">// (And perhpaps refactor with less arguments?)</span>
- <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy</span>::<span class="ident">too_many_arguments</span>)]</span>
+ <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy::too_many_arguments</span>)]</span>
<span class="kw">fn</span> <span class="ident">bnb</span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">required_utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span>,
<span class="comment">// false otherwise. Note that current_selection.len() could be less than</span>
<span class="comment">// optional_utxos.len(), it just means that we still haven't decided if we should keep</span>
<span class="comment">// certain optional_utxos or not.</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">current_selection</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">bool</span><span class="op">></span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">optional_utxos</span>.<span class="ident">len</span>());
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">current_selection</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">bool</span><span class="op">></span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">optional_utxos</span>.<span class="ident">len</span>());
<span class="comment">// Sort the utxo_pool</span>
<span class="ident">optional_utxos</span>.<span class="ident">sort_unstable_by_key</span>(<span class="op">|</span><span class="ident">a</span><span class="op">|</span> <span class="ident">a</span>.<span class="ident">effective_value</span>);
<span class="ident">optional_utxos</span>.<span class="ident">reverse</span>();
<span class="comment">// Contains the best selection we found</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">best_selection</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">best_selection</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">best_selection_value</span> <span class="op">=</span> <span class="prelude-val">None</span>;
<span class="comment">// Depth First search loop for choosing the UTXOs</span>
<span class="comment">// We have walked back to the first utxo and no branch is untraversed. All solutions searched</span>
<span class="comment">// If best selection is empty, then there's no exact match</span>
<span class="kw">if</span> <span class="ident">best_selection</span>.<span class="ident">is_empty</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">BnBNoExactMatch</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::BnBNoExactMatch</span>);
}
<span class="kw">break</span>;
}
<span class="comment">// Check for solution</span>
<span class="kw">if</span> <span class="ident">best_selection</span>.<span class="ident">is_empty</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">BnBTotalTriesExceeded</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::BnBTotalTriesExceeded</span>);
}
<span class="comment">// Set output set</span>
.<span class="ident">filter_map</span>(<span class="op">|</span>(<span class="ident">optional</span>, <span class="ident">is_in_best</span>)<span class="op">|</span> <span class="kw">if</span> <span class="ident">is_in_best</span> { <span class="prelude-val">Some</span>(<span class="ident">optional</span>) } <span class="kw">else</span> { <span class="prelude-val">None</span> })
.<span class="ident">collect</span>();
- <span class="prelude-val">Ok</span>(<span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">calculate_cs_result</span>(
+ <span class="prelude-val">Ok</span>(<span class="ident">BranchAndBoundCoinSelection::calculate_cs_result</span>(
<span class="ident">selected_utxos</span>,
<span class="ident">required_utxos</span>,
<span class="ident">fee_amount</span>,
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
{
<span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng</span>::<span class="ident">from_seed</span>(<span class="ident">seed</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng::from_seed</span>(<span class="ident">seed</span>);
<span class="ident">optional_utxos</span>.<span class="ident">shuffle</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>);
}
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>();
- <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">calculate_cs_result</span>(<span class="ident">selected_utxos</span>, <span class="ident">required_utxos</span>, <span class="ident">fee_amount</span>)
+ <span class="ident">BranchAndBoundCoinSelection::calculate_cs_result</span>(<span class="ident">selected_utxos</span>, <span class="ident">required_utxos</span>, <span class="ident">fee_amount</span>)
}
<span class="kw">fn</span> <span class="ident">calculate_cs_result</span>(
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">TxOut</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">MemoryDatabase</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="kw-2">*</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::MemoryDatabase</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">rngs</span>::<span class="ident">StdRng</span>;
- <span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">seq</span>::<span class="ident">SliceRandom</span>;
+ <span class="kw">use</span> <span class="ident">rand::rngs::StdRng</span>;
+ <span class="kw">use</span> <span class="ident">rand::seq::SliceRandom</span>;
<span class="kw">use</span> <span class="ident">rand</span>::{<span class="ident">Rng</span>, <span class="ident">SeedableRng</span>};
<span class="kw">const</span> <span class="ident">P2WPKH_WITNESS_SIZE</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">73</span> <span class="op">+</span> <span class="number">33</span> <span class="op">+</span> <span class="number">2</span>;
<span class="kw">const</span> <span class="ident">FEE_AMOUNT</span>: <span class="ident">f32</span> <span class="op">=</span> <span class="number">50.0</span>;
<span class="kw">fn</span> <span class="ident">get_test_utxos</span>() <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">WeightedUtxo</span><span class="op">></span> {
- <span class="macro">vec</span><span class="macro">!</span>[
+ <span class="macro">vec!</span>[
<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">P2WPKH_WITNESS_SIZE</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">LocalUtxo</span> {
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::from_str</span>(
<span class="string">"0000000000000000000000000000000000000000000000000000000000000000:0"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="ident">txout</span>: <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="number">100_000</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">Script</span>::<span class="ident">new</span>(),
+ <span class="ident">script_pubkey</span>: <span class="ident">Script::new</span>(),
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
}),
},
<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">P2WPKH_WITNESS_SIZE</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">LocalUtxo</span> {
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::from_str</span>(
<span class="string">"0000000000000000000000000000000000000000000000000000000000000001:0"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="ident">txout</span>: <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="ident">FEE_AMOUNT</span> <span class="kw">as</span> <span class="ident">u64</span> <span class="op">-</span> <span class="number">40</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">Script</span>::<span class="ident">new</span>(),
+ <span class="ident">script_pubkey</span>: <span class="ident">Script::new</span>(),
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
}),
},
<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">P2WPKH_WITNESS_SIZE</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">LocalUtxo</span> {
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::from_str</span>(
<span class="string">"0000000000000000000000000000000000000000000000000000000000000002:0"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="ident">txout</span>: <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="number">200_000</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">Script</span>::<span class="ident">new</span>(),
+ <span class="ident">script_pubkey</span>: <span class="ident">Script::new</span>(),
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::Internal</span>,
}),
},
]
}
<span class="kw">fn</span> <span class="ident">generate_random_utxos</span>(<span class="ident">rng</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">StdRng</span>, <span class="ident">utxos_number</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">WeightedUtxo</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">res</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">utxos_number</span> {
<span class="ident">res</span>.<span class="ident">push</span>(<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">P2WPKH_WITNESS_SIZE</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">LocalUtxo</span> {
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::from_str</span>(
<span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="ident">txout</span>: <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="ident">rng</span>.<span class="ident">gen_range</span>(<span class="number">0</span>, <span class="number">200000000</span>),
- <span class="ident">script_pubkey</span>: <span class="ident">Script</span>::<span class="ident">new</span>(),
+ <span class="ident">script_pubkey</span>: <span class="ident">Script::new</span>(),
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
}),
});
}
<span class="kw">fn</span> <span class="ident">generate_same_value_utxos</span>(<span class="ident">utxos_value</span>: <span class="ident">u64</span>, <span class="ident">utxos_number</span>: <span class="ident">usize</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">WeightedUtxo</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">utxo</span> <span class="op">=</span> <span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">P2WPKH_WITNESS_SIZE</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">LocalUtxo</span> {
- <span class="ident">outpoint</span>: <span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">LocalUtxo</span> {
+ <span class="ident">outpoint</span>: <span class="ident">OutPoint::from_str</span>(
<span class="string">"ebd9813ecebc57ff8f30797de7c205e3c7498ca950ea4341ee51a685ff2fa30a:0"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="ident">txout</span>: <span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="ident">utxos_value</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">Script</span>::<span class="ident">new</span>(),
+ <span class="ident">script_pubkey</span>: <span class="ident">Script::new</span>(),
},
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
}),
};
- <span class="macro">vec</span><span class="macro">!</span>[<span class="ident">utxo</span>; <span class="ident">utxos_number</span>]
+ <span class="macro">vec!</span>[<span class="ident">utxo</span>; <span class="ident">utxos_number</span>]
}
<span class="kw">fn</span> <span class="ident">sum_random_utxos</span>(<span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">StdRng</span>, <span class="ident">utxos</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">WeightedUtxo</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">u64</span> {
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_largest_first_coin_selection_success</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
<span class="ident">utxos</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="macro">vec!</span>[],
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">250_000</span>,
<span class="number">50.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_largest_first_coin_selection_use_all</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
<span class="ident">utxos</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="macro">vec!</span>[],
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">20_000</span>,
<span class="number">50.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_largest_first_coin_selection_use_only_necessary</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">LargestFirstCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">20_000</span>,
<span class="number">50.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">200_000</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">118.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">200_000</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">118.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InsufficientFunds"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_largest_first_coin_selection_insufficient_funds</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="ident">LargestFirstCoinSelection</span>::<span class="ident">default</span>()
+ <span class="ident">LargestFirstCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">500_000</span>,
<span class="number">50.0</span>,
)
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InsufficientFunds"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_largest_first_coin_selection_insufficient_funds_high_fees</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="ident">LargestFirstCoinSelection</span>::<span class="ident">default</span>()
+ <span class="ident">LargestFirstCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1000.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1000.0</span>),
<span class="number">250_000</span>,
<span class="number">50.0</span>,
)
<span class="comment">// select three outputs</span>
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">generate_same_value_utxos</span>(<span class="number">100_000</span>, <span class="number">20</span>);
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">250_000</span>,
<span class="number">50.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_000</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_000</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_required_are_enough</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
<span class="ident">utxos</span>.<span class="ident">clone</span>(),
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">20_000</span>,
<span class="ident">FEE_AMOUNT</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300_010</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_optional_are_enough</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>()
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">299756</span>,
<span class="ident">FEE_AMOUNT</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300010</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">300010</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">254.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InsufficientFunds"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_insufficient_funds</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>()
+ <span class="ident">BranchAndBoundCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">500_000</span>,
<span class="number">50.0</span>,
)
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InsufficientFunds"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_insufficient_funds_high_fees</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>()
+ <span class="ident">BranchAndBoundCoinSelection::default</span>()
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1000.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1000.0</span>),
<span class="number">250_000</span>,
<span class="number">50.0</span>,
)
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_check_fee_rate</span>() {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>();
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="number">0</span>)
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="number">0</span>)
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>),
<span class="number">99932</span>, <span class="comment">// first utxo's effective value</span>
<span class="number">0.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">100_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">100_000</span>);
<span class="kw">let</span> <span class="ident">input_size</span> <span class="op">=</span> (<span class="ident">TXIN_BASE_WEIGHT</span> <span class="kw">as</span> <span class="ident">f32</span>) <span class="op">/</span> <span class="number">4.0</span> <span class="op">+</span> <span class="ident">P2WPKH_WITNESS_SIZE</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">/</span> <span class="number">4.0</span>;
<span class="kw">let</span> <span class="ident">epsilon</span> <span class="op">=</span> <span class="number">0.5</span>;
- <span class="macro">assert</span><span class="macro">!</span>((<span class="number">1.0</span> <span class="op">-</span> (<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">/</span> <span class="ident">input_size</span>)).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">epsilon</span>);
+ <span class="macro">assert!</span>((<span class="number">1.0</span> <span class="op">-</span> (<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">/</span> <span class="ident">input_size</span>)).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">epsilon</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_coin_selection_exact_match</span>() {
<span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng</span>::<span class="ident">from_seed</span>(<span class="ident">seed</span>);
- <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng::from_seed</span>(<span class="ident">seed</span>);
+ <span class="kw">let</span> <span class="ident">database</span> <span class="op">=</span> <span class="ident">MemoryDatabase::default</span>();
<span class="kw">for</span> <span class="ident">_i</span> <span class="kw">in</span> <span class="number">0</span>..<span class="number">200</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">optional_utxos</span> <span class="op">=</span> <span class="ident">generate_random_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>, <span class="number">16</span>);
<span class="kw">let</span> <span class="ident">target_amount</span> <span class="op">=</span> <span class="ident">sum_random_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">optional_utxos</span>);
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="number">0</span>)
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="number">0</span>)
.<span class="ident">coin_select</span>(
<span class="kw-2">&</span><span class="ident">database</span>,
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">optional_utxos</span>,
- <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">0.0</span>),
+ <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">0.0</span>),
<span class="ident">target_amount</span>,
<span class="number">0.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="ident">target_amount</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="ident">target_amount</span>);
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"BnBNoExactMatch"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_function_no_exact_match</span>() {
- <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">10.0</span>);
+ <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">10.0</span>);
<span class="kw">let</span> <span class="ident">utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span> <span class="op">=</span> <span class="ident">get_test_utxos</span>()
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">curr_available_value</span> <span class="op">=</span> <span class="ident">utxos</span>.<span class="ident">iter</span>().<span class="ident">fold</span>(<span class="number">0</span>, <span class="op">|</span><span class="ident">acc</span>, <span class="ident">x</span><span class="op">|</span> <span class="ident">acc</span> <span class="op">+</span> <span class="ident">x</span>.<span class="ident">effective_value</span>);
<span class="kw">let</span> <span class="ident">size_of_change</span> <span class="op">=</span> <span class="number">31</span>;
<span class="kw">let</span> <span class="ident">cost_of_change</span> <span class="op">=</span> <span class="ident">size_of_change</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">fee_rate</span>.<span class="ident">as_sat_vb</span>();
- <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="ident">size_of_change</span>)
+ <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="ident">size_of_change</span>)
.<span class="ident">bnb</span>(
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
<span class="number">0</span>,
<span class="ident">curr_available_value</span>,
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"BnBTotalTriesExceeded"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_function_tries_exceeded</span>() {
- <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">10.0</span>);
+ <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">10.0</span>);
<span class="kw">let</span> <span class="ident">utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span> <span class="op">=</span> <span class="ident">generate_same_value_utxos</span>(<span class="number">100_000</span>, <span class="number">100_000</span>)
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">curr_available_value</span> <span class="op">=</span> <span class="ident">utxos</span>.<span class="ident">iter</span>().<span class="ident">fold</span>(<span class="number">0</span>, <span class="op">|</span><span class="ident">acc</span>, <span class="ident">x</span><span class="op">|</span> <span class="ident">acc</span> <span class="op">+</span> <span class="ident">x</span>.<span class="ident">effective_value</span>);
<span class="kw">let</span> <span class="ident">size_of_change</span> <span class="op">=</span> <span class="number">31</span>;
<span class="kw">let</span> <span class="ident">cost_of_change</span> <span class="op">=</span> <span class="ident">size_of_change</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">fee_rate</span>.<span class="ident">as_sat_vb</span>();
- <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="ident">size_of_change</span>)
+ <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="ident">size_of_change</span>)
.<span class="ident">bnb</span>(
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
<span class="number">0</span>,
<span class="ident">curr_available_value</span>,
<span class="comment">// The match won't be exact but still in the range</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_function_almost_exact_match_with_fees</span>() {
- <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>);
+ <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>);
<span class="kw">let</span> <span class="ident">size_of_change</span> <span class="op">=</span> <span class="number">31</span>;
<span class="kw">let</span> <span class="ident">cost_of_change</span> <span class="op">=</span> <span class="ident">size_of_change</span> <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="ident">fee_rate</span>.<span class="ident">as_sat_vb</span>();
<span class="kw">let</span> <span class="ident">fee_amount</span> <span class="op">=</span> <span class="number">50.0</span>;
<span class="kw">let</span> <span class="ident">utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">generate_same_value_utxos</span>(<span class="number">50_000</span>, <span class="number">10</span>)
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">curr_value</span> <span class="op">=</span> <span class="number">0</span>;
<span class="comment">// cost_of_change + 5.</span>
<span class="kw">let</span> <span class="ident">target_amount</span> <span class="op">=</span> <span class="number">2</span> <span class="op">*</span> <span class="number">50_000</span> <span class="op">-</span> <span class="number">2</span> <span class="op">*</span> <span class="number">67</span> <span class="op">-</span> <span class="ident">cost_of_change</span>.<span class="ident">ceil</span>() <span class="kw">as</span> <span class="ident">i64</span> <span class="op">+</span> <span class="number">5</span>;
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="ident">size_of_change</span>)
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="ident">size_of_change</span>)
.<span class="ident">bnb</span>(
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
<span class="ident">curr_value</span>,
<span class="ident">curr_available_value</span>,
<span class="ident">cost_of_change</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">186.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">100_000</span>);
+ <span class="macro">assert!</span>((<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> <span class="number">186.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="number">100_000</span>);
}
<span class="comment">// TODO: bnb() function should be optimized, and this test should be done with more utxos</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bnb_function_exact_match_more_utxos</span>() {
<span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng</span>::<span class="ident">from_seed</span>(<span class="ident">seed</span>);
- <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">0.0</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng::from_seed</span>(<span class="ident">seed</span>);
+ <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">0.0</span>);
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="number">200</span> {
<span class="kw">let</span> <span class="ident">optional_utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span> <span class="op">=</span> <span class="ident">generate_random_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>, <span class="number">40</span>)
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
<span class="kw">let</span> <span class="ident">curr_value</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">let</span> <span class="ident">target_amount</span> <span class="op">=</span>
<span class="ident">optional_utxos</span>[<span class="number">3</span>].<span class="ident">effective_value</span> <span class="op">+</span> <span class="ident">optional_utxos</span>[<span class="number">23</span>].<span class="ident">effective_value</span>;
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">new</span>(<span class="number">0</span>)
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::new</span>(<span class="number">0</span>)
.<span class="ident">bnb</span>(
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="macro">vec!</span>[],
<span class="ident">optional_utxos</span>,
<span class="ident">curr_value</span>,
<span class="ident">curr_available_value</span>,
<span class="number">0.0</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="ident">target_amount</span> <span class="kw">as</span> <span class="ident">u64</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>(), <span class="ident">target_amount</span> <span class="kw">as</span> <span class="ident">u64</span>);
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_single_random_draw_function_success</span>() {
<span class="kw">let</span> <span class="ident">seed</span> <span class="op">=</span> [<span class="number">0</span>; <span class="number">32</span>];
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng</span>::<span class="ident">from_seed</span>(<span class="ident">seed</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span>: <span class="ident">StdRng</span> <span class="op">=</span> <span class="ident">SeedableRng::from_seed</span>(<span class="ident">seed</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">generate_random_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>, <span class="number">300</span>);
<span class="kw">let</span> <span class="ident">target_amount</span> <span class="op">=</span> <span class="ident">sum_random_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">utxos</span>);
- <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>);
+ <span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>);
<span class="kw">let</span> <span class="ident">utxos</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">OutputGroup</span><span class="op">></span> <span class="op">=</span> <span class="ident">utxos</span>
.<span class="ident">into_iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup</span>::<span class="ident">new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">OutputGroup::new</span>(<span class="ident">u</span>, <span class="ident">fee_rate</span>))
.<span class="ident">collect</span>();
- <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection</span>::<span class="ident">default</span>().<span class="ident">single_random_draw</span>(
- <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">BranchAndBoundCoinSelection::default</span>().<span class="ident">single_random_draw</span>(
+ <span class="macro">vec!</span>[],
<span class="ident">utxos</span>,
<span class="number">0</span>,
<span class="ident">target_amount</span> <span class="kw">as</span> <span class="ident">i64</span>,
<span class="number">50.0</span>,
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>() <span class="op">></span> <span class="ident">target_amount</span>);
- <span class="macro">assert</span><span class="macro">!</span>(
- (<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> (<span class="number">50.0</span> <span class="op">+</span> <span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="number">68.0</span>)).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32</span>::<span class="ident">EPSILON</span>
+ <span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">selected_amount</span>() <span class="op">></span> <span class="ident">target_amount</span>);
+ <span class="macro">assert!</span>(
+ (<span class="ident">result</span>.<span class="ident">fee_amount</span> <span class="op">-</span> (<span class="number">50.0</span> <span class="op">+</span> <span class="ident">result</span>.<span class="ident">selected</span>.<span class="ident">len</span>() <span class="kw">as</span> <span class="ident">f32</span> <span class="op">*</span> <span class="number">68.0</span>)).<span class="ident">abs</span>() <span class="op"><</span> <span class="ident">f32::EPSILON</span>
);
}
}
<!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="Source of the Rust file `src/wallet/export.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>export.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<_, bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+<span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Deserialize</span>, <span class="ident">Serialize</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">ShInner</span>, <span class="ident">WshInner</span>};
+<span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">ShInner</span>, <span class="ident">WshInner</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">Descriptor</span>, <span class="ident">DescriptorPublicKey</span>, <span class="ident">ScriptContext</span>, <span class="ident">Terminal</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">BatchDatabase</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">Wallet</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::BatchDatabase</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::Wallet</span>;
<span class="doccomment">/// Structure that contains the export of a wallet</span>
<span class="doccomment">///</span>
<span class="kw">impl</span> <span class="ident">ToString</span> <span class="kw">for</span> <span class="ident">WalletExport</span> {
<span class="kw">fn</span> <span class="ident">to_string</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">String</span> {
- <span class="ident">serde_json</span>::<span class="ident">to_string</span>(<span class="self">self</span>).<span class="ident">unwrap</span>()
+ <span class="ident">serde_json::to_string</span>(<span class="self">self</span>).<span class="ident">unwrap</span>()
}
}
<span class="kw">impl</span> <span class="ident">FromStr</span> <span class="kw">for</span> <span class="ident">WalletExport</span> {
- <span class="kw">type</span> <span class="prelude-val">Err</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">Error</span>;
+ <span class="kw">type</span> <span class="prelude-val">Err</span> <span class="op">=</span> <span class="ident">serde_json::Error</span>;
- <span class="kw">fn</span> <span class="ident">from_str</span>(<span class="ident">s</span>: <span class="kw-2">&</span><span class="ident">str</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="self">Self</span>::<span class="prelude-val">Err</span><span class="op">></span> {
- <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">s</span>)
+ <span class="kw">fn</span> <span class="ident">from_str</span>(<span class="ident">s</span>: <span class="kw-2">&</span><span class="ident">str</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="self">Self</span><span class="ident">::Err</span><span class="op">></span> {
+ <span class="ident">serde_json::from_str</span>(<span class="ident">s</span>)
}
}
<span class="kw">fn</span> <span class="ident">remove_checksum</span>(<span class="ident">s</span>: <span class="ident">String</span>) <span class="op">-</span><span class="op">></span> <span class="ident">String</span> {
- <span class="ident">s</span>.<span class="ident">splitn</span>(<span class="number">2</span>, <span class="string">'#'</span>).<span class="ident">next</span>().<span class="ident">map</span>(<span class="ident">String</span>::<span class="ident">from</span>).<span class="ident">unwrap</span>()
+ <span class="ident">s</span>.<span class="ident">splitn</span>(<span class="number">2</span>, <span class="string">'#'</span>).<span class="ident">next</span>().<span class="ident">map</span>(<span class="ident">String::from</span>).<span class="ident">unwrap</span>()
}
<span class="kw">impl</span> <span class="ident">WalletExport</span> {
.<span class="ident">descriptor</span>
.<span class="ident">to_string_with_secret</span>(<span class="kw-2">&</span><span class="ident">wallet</span>.<span class="ident">signers</span>.<span class="ident">as_key_map</span>(<span class="ident">wallet</span>.<span class="ident">secp_ctx</span>()));
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="ident">remove_checksum</span>(<span class="ident">descriptor</span>);
- <span class="self">Self</span>::<span class="ident">is_compatible_with_core</span>(<span class="kw-2">&</span><span class="ident">descriptor</span>)<span class="question-mark">?</span>;
+ <span class="self">Self</span><span class="ident">::is_compatible_with_core</span>(<span class="kw-2">&</span><span class="ident">descriptor</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">blockheight</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow</span>().<span class="ident">iter_txs</span>(<span class="bool-val">false</span>) {
<span class="kw">_</span> <span class="kw">if</span> <span class="op">!</span><span class="ident">include_blockheight</span> <span class="op">=</span><span class="op">></span> <span class="number">0</span>,
<span class="kw">fn</span> <span class="ident">check_ms</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span>(
<span class="ident">terminal</span>: <span class="kw-2">&</span><span class="ident">Terminal</span><span class="op"><</span><span class="ident">String</span>, <span class="ident">Ctx</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="kw-2">&</span><span class="lifetime">'static</span> <span class="ident">str</span><span class="op">></span> {
- <span class="kw">if</span> <span class="kw">let</span> <span class="ident">Terminal</span>::<span class="ident">Multi</span>(<span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">terminal</span> {
+ <span class="kw">if</span> <span class="kw">let</span> <span class="ident">Terminal::Multi</span>(<span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">terminal</span> {
<span class="prelude-val">Ok</span>(())
} <span class="kw">else</span> {
<span class="prelude-val">Err</span>(<span class="string">"The descriptor contains operators not supported by Bitcoin Core"</span>)
}
<span class="comment">// pkh(), wpkh(), sh(wpkh()) are always fine, as well as multi() and sortedmulti()</span>
- <span class="kw">match</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">String</span><span class="op">></span>::<span class="ident">from_str</span>(<span class="ident">descriptor</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="string">"Invalid descriptor"</span>)<span class="question-mark">?</span> {
- <span class="ident">Descriptor</span>::<span class="ident">Pkh</span>(<span class="kw">_</span>) <span class="op">|</span> <span class="ident">Descriptor</span>::<span class="ident">Wpkh</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">Descriptor</span>::<span class="ident">Sh</span>(<span class="ident">sh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">sh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">ShInner</span>::<span class="ident">Wpkh</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">ShInner</span>::<span class="ident">SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">ShInner</span>::<span class="ident">Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">WshInner</span>::<span class="ident">SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">WshInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
+ <span class="kw">match</span> <span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">String</span><span class="op">></span><span class="ident">::from_str</span>(<span class="ident">descriptor</span>).<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="string">"Invalid descriptor"</span>)<span class="question-mark">?</span> {
+ <span class="ident">Descriptor::Pkh</span>(<span class="kw">_</span>) <span class="op">|</span> <span class="ident">Descriptor::Wpkh</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">Descriptor::Sh</span>(<span class="ident">sh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">sh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">ShInner::Wpkh</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">ShInner::SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">ShInner::Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">WshInner::SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">WshInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
},
- <span class="ident">ShInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
+ <span class="ident">ShInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
},
- <span class="ident">Descriptor</span>::<span class="ident">Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
- <span class="ident">WshInner</span>::<span class="ident">SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
- <span class="ident">WshInner</span>::<span class="ident">Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
+ <span class="ident">Descriptor::Wsh</span>(<span class="ident">wsh</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">wsh</span>.<span class="ident">as_inner</span>() {
+ <span class="ident">WshInner::SortedMulti</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(()),
+ <span class="ident">WshInner::Ms</span>(<span class="ident">ms</span>) <span class="op">=</span><span class="op">></span> <span class="ident">check_ms</span>(<span class="kw-2">&</span><span class="ident">ms</span>.<span class="ident">node</span>),
},
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="prelude-val">Err</span>(<span class="string">"The descriptor is not compatible with Bitcoin Core"</span>),
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Network</span>, <span class="ident">Txid</span>};
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>, <span class="ident">BatchOperations</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">TransactionDetails</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">Wallet</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">memory::MemoryDatabase</span>, <span class="ident">BatchOperations</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types::TransactionDetails</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::Wallet</span>;
<span class="kw">fn</span> <span class="ident">get_test_db</span>() <span class="op">-</span><span class="op">></span> <span class="ident">MemoryDatabase</span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
<span class="ident">db</span>.<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">TransactionDetails</span> {
<span class="ident">transaction</span>: <span class="prelude-val">None</span>,
- <span class="ident">txid</span>: <span class="ident">Txid</span>::<span class="ident">from_str</span>(
+ <span class="ident">txid</span>: <span class="ident">Txid::from_str</span>(
<span class="string">"4ddff1fa33af17f377f62b72357b43107c19110a8009b36fb832af505efed98a"</span>,
)
.<span class="ident">unwrap</span>(),
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)"</span>;
<span class="kw">let</span> <span class="ident">change_descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/1/*)"</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">descriptor</span>,
<span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>),
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
+ <span class="ident">Network::Bitcoin</span>,
<span class="ident">get_test_db</span>(),
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)"</span>;
<span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span>
- <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Bitcoin</span>, <span class="ident">get_test_db</span>()).<span class="ident">unwrap</span>();
- <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
+ <span class="ident">Wallet::new_offline</span>(<span class="ident">descriptor</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Bitcoin</span>, <span class="ident">get_test_db</span>()).<span class="ident">unwrap</span>();
+ <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)"</span>;
<span class="kw">let</span> <span class="ident">change_descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/50'/0'/1/*)"</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">descriptor</span>,
<span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>),
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
+ <span class="ident">Network::Bitcoin</span>,
<span class="ident">get_test_db</span>(),
)
.<span class="ident">unwrap</span>();
- <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
+ <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
[c98b1535/48'/0'/0'/2']tpubDCDi5W4sP6zSnzJeowy8rQDVhBdRARaPhK1axABi8V1661wEPeanpEXj4ZLAUEoikVtoWcyK26TKKJSecSfeKxwHCcRrge9k1ybuiL71z4a/1/*\
))"</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">descriptor</span>,
<span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>),
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
+ <span class="ident">Network::Testnet</span>,
<span class="ident">get_test_db</span>(),
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)"</span>;
<span class="kw">let</span> <span class="ident">change_descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/1/*)"</span>;
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="ident">descriptor</span>,
<span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>),
- <span class="ident">Network</span>::<span class="ident">Bitcoin</span>,
+ <span class="ident">Network::Bitcoin</span>,
<span class="ident">get_test_db</span>(),
)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport::export_wallet</span>(<span class="kw-2">&</span><span class="ident">wallet</span>, <span class="string">"Test Label"</span>, <span class="bool-val">true</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">to_string</span>(), <span class="string">"{\"descriptor\":\"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44\'/0\'/0\'/0/*)\",\"blockheight\":5000,\"label\":\"Test Label\"}"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">to_string</span>(), <span class="string">"{\"descriptor\":\"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44\'/0\'/0\'/0/*)\",\"blockheight\":5000,\"label\":\"Test Label\"}"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="ident">change_descriptor</span> <span class="op">=</span> <span class="string">"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/1/*)"</span>;
<span class="kw">let</span> <span class="ident">import_str</span> <span class="op">=</span> <span class="string">"{\"descriptor\":\"wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44\'/0\'/0\'/0/*)\",\"blockheight\":5000,\"label\":\"Test Label\"}"</span>;
- <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport</span>::<span class="ident">from_str</span>(<span class="ident">import_str</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">export</span> <span class="op">=</span> <span class="ident">WalletExport::from_str</span>(<span class="ident">import_str</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">descriptor</span>(), <span class="ident">descriptor</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">change_descriptor</span>(), <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>.<span class="ident">into</span>()));
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">blockheight</span>, <span class="number">5000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">export</span>.<span class="ident">label</span>, <span class="string">"Test Label"</span>);
}
}
</pre></div>
<!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="Source of the Rust file `src/wallet/mod.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>mod.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//!</span>
<span class="doccomment">//! This module defines the [`Wallet`] structure.</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cell</span>::<span class="ident">RefCell</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashMap</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashSet</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::{<span class="ident">Deref</span>, <span class="ident">DerefMut</span>};
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
+<span class="kw">use</span> <span class="ident">std::cell::RefCell</span>;
+<span class="kw">use</span> <span class="ident">std::collections::HashMap</span>;
+<span class="kw">use</span> <span class="ident">std::collections</span>::{<span class="ident">BTreeMap</span>, <span class="ident">HashSet</span>};
+<span class="kw">use</span> <span class="ident">std::ops</span>::{<span class="ident">Deref</span>, <span class="ident">DerefMut</span>};
+<span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::<span class="ident">Secp256k1</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::secp256k1::Secp256k1</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">encode</span>::<span class="ident">serialize</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">base58</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">raw</span>::<span class="ident">Key</span> <span class="kw">as</span> <span class="ident">PSBTKey</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">Input</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::consensus::encode::serialize</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::base58</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt::raw::Key</span> <span class="kw">as</span> <span class="ident">PSBTKey</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt::Input</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt::PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>;
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">Address</span>, <span class="ident">Network</span>, <span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">SigHashType</span>, <span class="ident">Transaction</span>, <span class="ident">TxOut</span>, <span class="ident">Txid</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">DescriptorTrait</span>;
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">psbt</span>::<span class="ident">PsbtInputSatisfier</span>;
+<span class="kw">use</span> <span class="ident">miniscript::descriptor::DescriptorTrait</span>;
+<span class="kw">use</span> <span class="ident">miniscript::psbt::PsbtInputSatisfier</span>;
<span class="attribute">#[<span class="ident">allow</span>(<span class="ident">unused_imports</span>)]</span>
<span class="kw">use</span> <span class="ident">log</span>::{<span class="ident">debug</span>, <span class="ident">error</span>, <span class="ident">info</span>, <span class="ident">trace</span>};
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">tx_builder</span>;
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">mod</span> <span class="ident">utils</span>;
-<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">utils</span>::<span class="ident">IsDust</span>;
+<span class="kw">pub</span> <span class="kw">use</span> <span class="ident">utils::IsDust</span>;
-<span class="kw">use</span> <span class="ident">address_validator</span>::<span class="ident">AddressValidator</span>;
-<span class="kw">use</span> <span class="ident">coin_selection</span>::<span class="ident">DefaultCoinSelectionAlgorithm</span>;
+<span class="kw">use</span> <span class="ident">address_validator::AddressValidator</span>;
+<span class="kw">use</span> <span class="ident">coin_selection::DefaultCoinSelectionAlgorithm</span>;
<span class="kw">use</span> <span class="ident">signer</span>::{<span class="ident">Signer</span>, <span class="ident">SignerOrdering</span>, <span class="ident">SignersContainer</span>};
<span class="kw">use</span> <span class="ident">tx_builder</span>::{<span class="ident">BumpFee</span>, <span class="ident">CreateTx</span>, <span class="ident">FeePolicy</span>, <span class="ident">TxBuilder</span>, <span class="ident">TxParams</span>};
<span class="kw">use</span> <span class="ident">utils</span>::{<span class="ident">check_nlocktime</span>, <span class="ident">check_nsequence_rbf</span>, <span class="ident">After</span>, <span class="ident">Older</span>, <span class="ident">SecpCtx</span>, <span class="ident">DUST_LIMIT_SATOSHI</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">blockchain</span>::{<span class="ident">Blockchain</span>, <span class="ident">Progress</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">derived</span>::<span class="ident">AsDerived</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::{
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::blockchain</span>::{<span class="ident">Blockchain</span>, <span class="ident">Progress</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database</span>::{<span class="ident">BatchDatabase</span>, <span class="ident">BatchOperations</span>, <span class="ident">DatabaseUtils</span>};
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::derived::AsDerived</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>::{
<span class="ident">get_checksum</span>, <span class="ident">into_wallet_descriptor_checked</span>, <span class="ident">DerivedDescriptor</span>, <span class="ident">DerivedDescriptorMeta</span>,
<span class="ident">DescriptorMeta</span>, <span class="ident">DescriptorScripts</span>, <span class="ident">ExtendedDescriptor</span>, <span class="ident">ExtractPolicy</span>, <span class="ident">IntoWalletDescriptor</span>,
<span class="ident">Policy</span>, <span class="ident">XKeyUtils</span>,
};
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">psbt</span>::<span class="ident">PsbtUtils</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="kw-2">*</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::error::Error</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::psbt::PsbtUtils</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types</span>::<span class="kw-2">*</span>;
<span class="kw">const</span> <span class="ident">CACHE_ADDR_BATCH_SIZE</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="number">100</span>;
<span class="ident">network</span>: <span class="ident">Network</span>,
<span class="ident">database</span>: <span class="ident">D</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="self">Self</span>::<span class="ident">_new</span>(<span class="ident">descriptor</span>, <span class="ident">change_descriptor</span>, <span class="ident">network</span>, <span class="ident">database</span>, (), <span class="prelude-val">None</span>)
+ <span class="self">Self</span><span class="ident">::_new</span>(<span class="ident">descriptor</span>, <span class="ident">change_descriptor</span>, <span class="ident">network</span>, <span class="ident">database</span>, (), <span class="prelude-val">None</span>)
}
}
<span class="ident">client</span>: <span class="ident">B</span>,
<span class="ident">current_height</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">descriptor</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">descriptor</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">network</span>)<span class="question-mark">?</span>;
<span class="ident">database</span>.<span class="ident">check_descriptor_checksum</span>(
- <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">KeychainKind::External</span>,
<span class="ident">get_checksum</span>(<span class="kw-2">&</span><span class="ident">descriptor</span>.<span class="ident">to_string</span>())<span class="question-mark">?</span>.<span class="ident">as_bytes</span>(),
)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>));
+ <span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>));
<span class="kw">let</span> (<span class="ident">change_descriptor</span>, <span class="ident">change_signers</span>) <span class="op">=</span> <span class="kw">match</span> <span class="ident">change_descriptor</span> {
<span class="prelude-val">Some</span>(<span class="ident">desc</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> (<span class="ident">change_descriptor</span>, <span class="ident">change_keymap</span>) <span class="op">=</span>
<span class="ident">into_wallet_descriptor_checked</span>(<span class="ident">desc</span>, <span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">network</span>)<span class="question-mark">?</span>;
<span class="ident">database</span>.<span class="ident">check_descriptor_checksum</span>(
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>,
+ <span class="ident">KeychainKind::Internal</span>,
<span class="ident">get_checksum</span>(<span class="kw-2">&</span><span class="ident">change_descriptor</span>.<span class="ident">to_string</span>())<span class="question-mark">?</span>.<span class="ident">as_bytes</span>(),
)<span class="question-mark">?</span>;
- <span class="kw">let</span> <span class="ident">change_signers</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">change_keymap</span>));
+ <span class="kw">let</span> <span class="ident">change_signers</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::from</span>(<span class="ident">change_keymap</span>));
<span class="comment">// if !parsed.same_structure(descriptor.as_ref()) {</span>
<span class="comment">// return Err(Error::DifferentDescriptorStructure);</span>
<span class="comment">// }</span>
(<span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>), <span class="ident">change_signers</span>)
}
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> (<span class="prelude-val">None</span>, <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">SignersContainer</span>::<span class="ident">new</span>())),
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> (<span class="prelude-val">None</span>, <span class="ident">Arc::new</span>(<span class="ident">SignersContainer::new</span>())),
};
<span class="prelude-val">Ok</span>(<span class="ident">Wallet</span> {
<span class="ident">change_descriptor</span>,
<span class="ident">signers</span>,
<span class="ident">change_signers</span>,
- <span class="ident">address_validators</span>: <span class="ident">Vec</span>::<span class="ident">new</span>(),
+ <span class="ident">address_validators</span>: <span class="ident">Vec::new</span>(),
<span class="ident">network</span>,
<span class="ident">current_height</span>,
<span class="ident">client</span>,
- <span class="ident">database</span>: <span class="ident">RefCell</span>::<span class="ident">new</span>(<span class="ident">database</span>),
+ <span class="ident">database</span>: <span class="ident">RefCell::new</span>(<span class="ident">database</span>),
<span class="ident">secp</span>,
})
}
{
<span class="comment">// Return a newly derived address using the external descriptor</span>
<span class="kw">fn</span> <span class="ident">get_new_address</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Address</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">incremented_index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">fetch_and_increment_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">incremented_index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">fetch_and_increment_index</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>;
<span class="self">self</span>.<span class="ident">descriptor</span>
.<span class="ident">as_derived</span>(<span class="ident">incremented_index</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>)
.<span class="ident">address</span>(<span class="self">self</span>.<span class="ident">network</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">ScriptDoesntHaveAddressForm</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::ScriptDoesntHaveAddressForm</span>)
}
<span class="comment">// Return the the last previously derived address if it has not been used in a received</span>
<span class="comment">// transaction. Otherwise return a new address using [`Wallet::get_new_address`].</span>
<span class="kw">fn</span> <span class="ident">get_unused_address</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Address</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">current_index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">fetch_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="ident">current_index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">fetch_index</span>(<span class="ident">KeychainKind::External</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">derived_key</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">descriptor</span>.<span class="ident">as_derived</span>(<span class="ident">current_index</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>);
} <span class="kw">else</span> {
<span class="ident">derived_key</span>
.<span class="ident">address</span>(<span class="self">self</span>.<span class="ident">network</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">ScriptDoesntHaveAddressForm</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::ScriptDoesntHaveAddressForm</span>)
}
}
<span class="self">self</span>.<span class="ident">descriptor</span>
.<span class="ident">as_derived</span>(<span class="ident">index</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>)
.<span class="ident">address</span>(<span class="self">self</span>.<span class="ident">network</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">ScriptDoesntHaveAddressForm</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::ScriptDoesntHaveAddressForm</span>)
}
<span class="comment">// Return derived address for the external descriptor at a specific index and reset current</span>
<span class="comment">// address index</span>
<span class="kw">fn</span> <span class="ident">reset_address</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">index</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Address</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="self">self</span>.<span class="ident">set_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">index</span>)<span class="question-mark">?</span>;
+ <span class="self">self</span>.<span class="ident">set_index</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">index</span>)<span class="question-mark">?</span>;
<span class="self">self</span>.<span class="ident">descriptor</span>
.<span class="ident">as_derived</span>(<span class="ident">index</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>)
.<span class="ident">address</span>(<span class="self">self</span>.<span class="ident">network</span>)
- .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error</span>::<span class="ident">ScriptDoesntHaveAddressForm</span>)
+ .<span class="ident">map_err</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="ident">Error::ScriptDoesntHaveAddressForm</span>)
}
<span class="doccomment">/// Return a derived address using the external descriptor, see [`AddressIndex`] for</span>
<span class="doccomment">/// (ie. does not end with /*) then the same address will always be returned for any [`AddressIndex`].</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_address</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">address_index</span>: <span class="ident">AddressIndex</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Address</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">match</span> <span class="ident">address_index</span> {
- <span class="ident">AddressIndex</span>::<span class="ident">New</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">get_new_address</span>(),
- <span class="ident">AddressIndex</span>::<span class="ident">LastUnused</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">get_unused_address</span>(),
- <span class="ident">AddressIndex</span>::<span class="ident">Peek</span>(<span class="ident">index</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">peek_address</span>(<span class="ident">index</span>),
- <span class="ident">AddressIndex</span>::<span class="ident">Reset</span>(<span class="ident">index</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">reset_address</span>(<span class="ident">index</span>),
+ <span class="ident">AddressIndex::New</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">get_new_address</span>(),
+ <span class="ident">AddressIndex::LastUnused</span> <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">get_unused_address</span>(),
+ <span class="ident">AddressIndex::Peek</span>(<span class="ident">index</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">peek_address</span>(<span class="ident">index</span>),
+ <span class="ident">AddressIndex::Reset</span>(<span class="ident">index</span>) <span class="op">=</span><span class="op">></span> <span class="self">self</span>.<span class="ident">reset_address</span>(<span class="ident">index</span>),
}
}
<span class="ident">signer</span>: <span class="ident">Arc</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Signer</span><span class="op">></span>,
) {
<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">keychain</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> <span class="ident">Arc</span>::<span class="ident">make_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">signers</span>),
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> <span class="ident">Arc</span>::<span class="ident">make_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">change_signers</span>),
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> <span class="ident">Arc::make_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">signers</span>),
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> <span class="ident">Arc::make_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">change_signers</span>),
};
<span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">signer</span>.<span class="ident">id</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>), <span class="ident">ordering</span>, <span class="ident">signer</span>);
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">build_tx</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">TxBuilder</span><span class="op"><</span><span class="lifetime">'_</span>, <span class="ident">B</span>, <span class="ident">D</span>, <span class="ident">DefaultCoinSelectionAlgorithm</span>, <span class="ident">CreateTx</span><span class="op">></span> {
<span class="ident">TxBuilder</span> {
<span class="ident">wallet</span>: <span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">params</span>: <span class="ident">TxParams</span>::<span class="ident">default</span>(),
- <span class="ident">coin_selection</span>: <span class="ident">DefaultCoinSelectionAlgorithm</span>::<span class="ident">default</span>(),
- <span class="ident">phantom</span>: <span class="ident">core</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>,
+ <span class="ident">params</span>: <span class="ident">TxParams::default</span>(),
+ <span class="ident">coin_selection</span>: <span class="ident">DefaultCoinSelectionAlgorithm::default</span>(),
+ <span class="ident">phantom</span>: <span class="ident">core::marker::PhantomData</span>,
}
}
- <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">create_tx</span><span class="op"><</span><span class="ident">Cs</span>: <span class="ident">coin_selection</span>::<span class="ident">CoinSelectionAlgorithm</span><span class="op"><</span><span class="ident">D</span><span class="op">></span><span class="op">></span>(
+ <span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">create_tx</span><span class="op"><</span><span class="ident">Cs</span>: <span class="ident">coin_selection::CoinSelectionAlgorithm</span><span class="op"><</span><span class="ident">D</span><span class="op">></span><span class="op">></span>(
<span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">coin_selection</span>: <span class="ident">Cs</span>,
<span class="ident">params</span>: <span class="ident">TxParams</span>,
<span class="comment">// The policy allows spending external outputs, but it requires a policy path that hasn't been</span>
<span class="comment">// provided</span>
- <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder</span>::<span class="ident">ChangeSpendPolicy</span>::<span class="ident">OnlyChange</span>
+ <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder::ChangeSpendPolicy::OnlyChange</span>
<span class="op">&&</span> <span class="ident">external_policy</span>.<span class="ident">requires_path</span>()
<span class="op">&&</span> <span class="ident">params</span>.<span class="ident">external_policy_path</span>.<span class="ident">is_none</span>()
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">SpendingPolicyRequired</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::SpendingPolicyRequired</span>(<span class="ident">KeychainKind::External</span>));
};
<span class="comment">// Same for the internal_policy path, if present</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">internal_policy</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="ident">internal_policy</span> {
- <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder</span>::<span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeForbidden</span>
+ <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder::ChangeSpendPolicy::ChangeForbidden</span>
<span class="op">&&</span> <span class="ident">internal_policy</span>.<span class="ident">requires_path</span>()
<span class="op">&&</span> <span class="ident">params</span>.<span class="ident">internal_policy_path</span>.<span class="ident">is_none</span>()
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">SpendingPolicyRequired</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::SpendingPolicyRequired</span>(<span class="ident">KeychainKind::Internal</span>));
};
}
<span class="ident">params</span>
.<span class="ident">external_policy_path</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">BTreeMap</span>::<span class="ident">new</span>()),
+ .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">BTreeMap::new</span>()),
)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">internal_requirements</span> <span class="op">=</span> <span class="ident">internal_policy</span>
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">policy</span><span class="op">|</span> {
<span class="ident">params</span>
.<span class="ident">internal_policy_path</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">BTreeMap</span>::<span class="ident">new</span>()),
+ .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">BTreeMap::new</span>()),
)<span class="question-mark">?</span>,
)
})
<span class="kw">let</span> <span class="ident">requirements</span> <span class="op">=</span> <span class="ident">external_requirements</span>
.<span class="ident">clone</span>()
.<span class="ident">merge</span>(<span class="kw-2">&</span><span class="ident">internal_requirements</span>.<span class="ident">unwrap_or_default</span>())<span class="question-mark">?</span>;
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Policy requirements: {:?}"</span>, <span class="ident">requirements</span>);
+ <span class="macro">debug!</span>(<span class="string">"Policy requirements: {:?}"</span>, <span class="ident">requirements</span>);
<span class="kw">let</span> <span class="ident">version</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">params</span>.<span class="ident">version</span> {
- <span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">Version</span>(<span class="number">0</span>)) <span class="op">=</span><span class="op">></span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="string">"Invalid version `0`"</span>.<span class="ident">into</span>()))
+ <span class="prelude-val">Some</span>(<span class="ident">tx_builder::Version</span>(<span class="number">0</span>)) <span class="op">=</span><span class="op">></span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(<span class="string">"Invalid version `0`"</span>.<span class="ident">into</span>()))
}
- <span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">Version</span>(<span class="number">1</span>)) <span class="kw">if</span> <span class="ident">requirements</span>.<span class="ident">csv</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(
+ <span class="prelude-val">Some</span>(<span class="ident">tx_builder::Version</span>(<span class="number">1</span>)) <span class="kw">if</span> <span class="ident">requirements</span>.<span class="ident">csv</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(
<span class="string">"TxBuilder requested version `1`, but at least `2` is needed to use OP_CSV"</span>
.<span class="ident">into</span>(),
))
}
- <span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">Version</span>(<span class="ident">x</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">x</span>,
+ <span class="prelude-val">Some</span>(<span class="ident">tx_builder::Version</span>(<span class="ident">x</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">x</span>,
<span class="prelude-val">None</span> <span class="kw">if</span> <span class="ident">requirements</span>.<span class="ident">csv</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> <span class="number">2</span>,
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="number">1</span>,
};
<span class="comment">// Specific nLockTime required and it's compatible with the constraints</span>
<span class="prelude-val">Some</span>(<span class="ident">x</span>) <span class="kw">if</span> <span class="ident">check_nlocktime</span>(<span class="ident">x</span>, <span class="ident">requirements</span>.<span class="ident">timelock</span>.<span class="ident">unwrap</span>()) <span class="op">=</span><span class="op">></span> <span class="ident">x</span>,
<span class="comment">// Invalid nLockTime required</span>
- <span class="prelude-val">Some</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="macro">format</span><span class="macro">!</span>(<span class="string">"TxBuilder requested timelock of `{}`, but at least `{}` is required to spend from this script"</span>, <span class="ident">x</span>, <span class="ident">requirements</span>.<span class="ident">timelock</span>.<span class="ident">unwrap</span>())))
+ <span class="prelude-val">Some</span>(<span class="ident">x</span>) <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(<span class="macro">format!</span>(<span class="string">"TxBuilder requested timelock of `{}`, but at least `{}` is required to spend from this script"</span>, <span class="ident">x</span>, <span class="ident">requirements</span>.<span class="ident">timelock</span>.<span class="ident">unwrap</span>())))
};
<span class="kw">let</span> <span class="ident">n_sequence</span> <span class="op">=</span> <span class="kw">match</span> (<span class="ident">params</span>.<span class="ident">rbf</span>, <span class="ident">requirements</span>.<span class="ident">csv</span>) {
(<span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="ident">csv</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">csv</span>,
<span class="comment">// RBF with a specific value but that value is too high</span>
- (<span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">RbfValue</span>::<span class="ident">Value</span>(<span class="ident">rbf</span>)), <span class="kw">_</span>) <span class="kw">if</span> <span class="ident">rbf</span> <span class="op">></span><span class="op">=</span> <span class="number">0xFFFFFFFE</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(
+ (<span class="prelude-val">Some</span>(<span class="ident">tx_builder::RbfValue::Value</span>(<span class="ident">rbf</span>)), <span class="kw">_</span>) <span class="kw">if</span> <span class="ident">rbf</span> <span class="op">></span><span class="op">=</span> <span class="number">0xFFFFFFFE</span> <span class="op">=</span><span class="op">></span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(
<span class="string">"Cannot enable RBF with a nSequence >= 0xFFFFFFFE"</span>.<span class="ident">into</span>(),
))
}
<span class="comment">// RBF with a specific value requested, but the value is incompatible with CSV</span>
- (<span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">RbfValue</span>::<span class="ident">Value</span>(<span class="ident">rbf</span>)), <span class="prelude-val">Some</span>(<span class="ident">csv</span>))
+ (<span class="prelude-val">Some</span>(<span class="ident">tx_builder::RbfValue::Value</span>(<span class="ident">rbf</span>)), <span class="prelude-val">Some</span>(<span class="ident">csv</span>))
<span class="kw">if</span> <span class="op">!</span><span class="ident">check_nsequence_rbf</span>(<span class="ident">rbf</span>, <span class="ident">csv</span>) <span class="op">=</span><span class="op">></span>
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="macro">format</span><span class="macro">!</span>(
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(<span class="macro">format!</span>(
<span class="string">"Cannot enable RBF with nSequence `{}` given a required OP_CSV of `{}`"</span>,
<span class="ident">rbf</span>, <span class="ident">csv</span>
)))
}
<span class="comment">// RBF enabled with the default value with CSV also enabled. CSV takes precedence</span>
- (<span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">RbfValue</span>::<span class="ident">Default</span>), <span class="prelude-val">Some</span>(<span class="ident">csv</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">csv</span>,
+ (<span class="prelude-val">Some</span>(<span class="ident">tx_builder::RbfValue::Default</span>), <span class="prelude-val">Some</span>(<span class="ident">csv</span>)) <span class="op">=</span><span class="op">></span> <span class="ident">csv</span>,
<span class="comment">// Valid RBF, either default or with a specific value. We ignore the `CSV` value</span>
<span class="comment">// because we've already checked it before</span>
(<span class="prelude-val">Some</span>(<span class="ident">rbf</span>), <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">rbf</span>.<span class="ident">get_value</span>(),
<span class="kw">let</span> (<span class="ident">fee_rate</span>, <span class="kw-2">mut</span> <span class="ident">fee_amount</span>) <span class="op">=</span> <span class="kw">match</span> <span class="ident">params</span>
.<span class="ident">fee_policy</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">FeePolicy</span>::<span class="ident">FeeRate</span>(<span class="ident">FeeRate</span>::<span class="ident">default</span>()))
+ .<span class="ident">unwrap_or</span>(<span class="kw-2">&</span><span class="ident">FeePolicy::FeeRate</span>(<span class="ident">FeeRate::default</span>()))
{
<span class="comment">//FIXME: see https://github.com/bitcoindevkit/bdk/issues/256</span>
- <span class="ident">FeePolicy</span>::<span class="ident">FeeAmount</span>(<span class="ident">fee</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">FeePolicy::FeeAmount</span>(<span class="ident">fee</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">previous_fee</span>) <span class="op">=</span> <span class="ident">params</span>.<span class="ident">bumping_fee</span> {
<span class="kw">if</span> <span class="kw-2">*</span><span class="ident">fee</span> <span class="op"><</span> <span class="ident">previous_fee</span>.<span class="ident">absolute</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">FeeTooLow</span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::FeeTooLow</span> {
<span class="ident">required</span>: <span class="ident">previous_fee</span>.<span class="ident">absolute</span>,
});
}
}
- (<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">0.0</span>), <span class="kw-2">*</span><span class="ident">fee</span> <span class="kw">as</span> <span class="ident">f32</span>)
+ (<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">0.0</span>), <span class="kw-2">*</span><span class="ident">fee</span> <span class="kw">as</span> <span class="ident">f32</span>)
}
- <span class="ident">FeePolicy</span>::<span class="ident">FeeRate</span>(<span class="ident">rate</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">FeePolicy::FeeRate</span>(<span class="ident">rate</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">previous_fee</span>) <span class="op">=</span> <span class="ident">params</span>.<span class="ident">bumping_fee</span> {
- <span class="kw">let</span> <span class="ident">required_feerate</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="ident">previous_fee</span>.<span class="ident">rate</span> <span class="op">+</span> <span class="number">1.0</span>);
+ <span class="kw">let</span> <span class="ident">required_feerate</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="ident">previous_fee</span>.<span class="ident">rate</span> <span class="op">+</span> <span class="number">1.0</span>);
<span class="kw">if</span> <span class="kw-2">*</span><span class="ident">rate</span> <span class="op"><</span> <span class="ident">required_feerate</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">FeeRateTooLow</span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::FeeRateTooLow</span> {
<span class="ident">required</span>: <span class="ident">required_feerate</span>,
});
}
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">Transaction</span> {
<span class="ident">version</span>,
<span class="ident">lock_time</span>,
- <span class="ident">input</span>: <span class="macro">vec</span><span class="macro">!</span>[],
- <span class="ident">output</span>: <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="ident">input</span>: <span class="macro">vec!</span>[],
+ <span class="ident">output</span>: <span class="macro">vec!</span>[],
};
<span class="kw">let</span> <span class="ident">recipients</span> <span class="op">=</span> <span class="kw">match</span> <span class="kw-2">&</span><span class="ident">params</span>.<span class="ident">single_recipient</span> {
- <span class="prelude-val">Some</span>(<span class="ident">recipient</span>) <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">recipient</span>, <span class="number">0</span>)],
+ <span class="prelude-val">Some</span>(<span class="ident">recipient</span>) <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[(<span class="ident">recipient</span>, <span class="number">0</span>)],
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">params</span>.<span class="ident">recipients</span>.<span class="ident">iter</span>().<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">r</span>, <span class="ident">v</span>)<span class="op">|</span> (<span class="ident">r</span>, <span class="kw-2">*</span><span class="ident">v</span>)).<span class="ident">collect</span>(),
};
<span class="kw">if</span> <span class="ident">params</span>.<span class="ident">single_recipient</span>.<span class="ident">is_some</span>()
<span class="op">&&</span> <span class="op">!</span><span class="ident">params</span>.<span class="ident">drain_wallet</span>
<span class="op">&&</span> <span class="ident">params</span>.<span class="ident">bumping_fee</span>.<span class="ident">is_none</span>()
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">SingleRecipientNoInputs</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::SingleRecipientNoInputs</span>);
}
<span class="kw">if</span> <span class="ident">recipients</span>.<span class="ident">is_empty</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">NoRecipients</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::NoRecipients</span>);
}
<span class="kw">if</span> <span class="ident">params</span>.<span class="ident">manually_selected_only</span> <span class="op">&&</span> <span class="ident">params</span>.<span class="ident">utxos</span>.<span class="ident">is_empty</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">NoUtxosSelected</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::NoUtxosSelected</span>);
}
<span class="comment">// we keep it as a float while we accumulate it, and only round it at the end</span>
<span class="kw">for</span> (<span class="ident">index</span>, (<span class="ident">script_pubkey</span>, <span class="ident">satoshi</span>)) <span class="kw">in</span> <span class="ident">recipients</span>.<span class="ident">into_iter</span>().<span class="ident">enumerate</span>() {
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">params</span>.<span class="ident">single_recipient</span> {
<span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="number">0</span>,
- <span class="prelude-val">None</span> <span class="kw">if</span> <span class="ident">satoshi</span>.<span class="ident">is_dust</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">OutputBelowDustLimit</span>(<span class="ident">index</span>)),
+ <span class="prelude-val">None</span> <span class="kw">if</span> <span class="ident">satoshi</span>.<span class="ident">is_dust</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::OutputBelowDustLimit</span>(<span class="ident">index</span>)),
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">satoshi</span>,
};
<span class="ident">outgoing</span> <span class="op">+</span><span class="op">=</span> <span class="ident">value</span>;
}
- <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder</span>::<span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeAllowed</span>
+ <span class="kw">if</span> <span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">!</span><span class="op">=</span> <span class="ident">tx_builder::ChangeSpendPolicy::ChangeAllowed</span>
<span class="op">&&</span> <span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">is_none</span>()
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(
<span class="string">"The `change_policy` can be set only if the wallet has a change_descriptor"</span>.<span class="ident">into</span>(),
));
}
<span class="ident">tx</span>.<span class="ident">input</span> <span class="op">=</span> <span class="ident">coin_selection</span>
.<span class="ident">selected</span>
.<span class="ident">iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">bitcoin</span>::<span class="ident">TxIn</span> {
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">bitcoin::TxIn</span> {
<span class="ident">previous_output</span>: <span class="ident">u</span>.<span class="ident">outpoint</span>(),
- <span class="ident">script_sig</span>: <span class="ident">Script</span>::<span class="ident">default</span>(),
+ <span class="ident">script_sig</span>: <span class="ident">Script::default</span>(),
<span class="ident">sequence</span>: <span class="ident">n_sequence</span>,
- <span class="ident">witness</span>: <span class="macro">vec</span><span class="macro">!</span>[],
+ <span class="ident">witness</span>: <span class="macro">vec!</span>[],
})
.<span class="ident">collect</span>();
<span class="prelude-val">None</span> <span class="kw">if</span> <span class="ident">change_val</span>.<span class="ident">is_dust</span>() <span class="op">=</span><span class="op">></span> {
<span class="comment">// single recipient, but the only output would be below dust limit</span>
<span class="comment">// TODO: or OutputBelowDustLimit?</span>
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InsufficientFunds</span> {
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::InsufficientFunds</span> {
<span class="ident">needed</span>: <span class="ident">DUST_LIMIT_SATOSHI</span>,
<span class="ident">available</span>: <span class="ident">change_val</span>,
});
<span class="kw">let</span> <span class="ident">transaction_details</span> <span class="op">=</span> <span class="ident">TransactionDetails</span> {
<span class="ident">transaction</span>: <span class="prelude-val">None</span>,
<span class="ident">txid</span>,
- <span class="ident">timestamp</span>: <span class="ident">time</span>::<span class="ident">get_timestamp</span>(),
+ <span class="ident">timestamp</span>: <span class="ident">time::get_timestamp</span>(),
<span class="ident">received</span>,
<span class="ident">sent</span>,
<span class="ident">fees</span>: <span class="ident">fee_amount</span>,
<span class="ident">txid</span>: <span class="ident">Txid</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">TxBuilder</span><span class="op"><</span><span class="lifetime">'_</span>, <span class="ident">B</span>, <span class="ident">D</span>, <span class="ident">DefaultCoinSelectionAlgorithm</span>, <span class="ident">BumpFee</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">details</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>.<span class="ident">database</span>.<span class="ident">borrow</span>().<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">txid</span>, <span class="bool-val">true</span>)<span class="question-mark">?</span> {
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">TransactionNotFound</span>),
- <span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">transaction</span>.<span class="ident">is_none</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">TransactionNotFound</span>),
- <span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">height</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">TransactionConfirmed</span>),
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::TransactionNotFound</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">transaction</span>.<span class="ident">is_none</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::TransactionNotFound</span>),
+ <span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">height</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::TransactionConfirmed</span>),
<span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="op">=</span><span class="op">></span> <span class="ident">tx</span>,
};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">details</span>.<span class="ident">transaction</span>.<span class="ident">take</span>().<span class="ident">unwrap</span>();
<span class="kw">if</span> <span class="op">!</span><span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">iter</span>().<span class="ident">any</span>(<span class="op">|</span><span class="ident">txin</span><span class="op">|</span> <span class="ident">txin</span>.<span class="ident">sequence</span> <span class="op"><</span><span class="op">=</span> <span class="number">0xFFFFFFFD</span>) {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">IrreplaceableTransaction</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::IrreplaceableTransaction</span>);
}
<span class="kw">let</span> <span class="ident">vbytes</span> <span class="op">=</span> <span class="ident">tx</span>.<span class="ident">get_weight</span>() <span class="kw">as</span> <span class="ident">f32</span> <span class="op">/</span> <span class="number">4.0</span>;
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
.<span class="ident">get_previous_output</span>(<span class="kw-2">&</span><span class="ident">txin</span>.<span class="ident">previous_output</span>)<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">UnknownUtxo</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">Error::UnknownUtxo</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> (<span class="ident">weight</span>, <span class="ident">keychain</span>) <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>
.<span class="ident">database</span>
<span class="comment">// original transaction</span>
<span class="kw">let</span> <span class="ident">weight</span> <span class="op">=</span>
<span class="ident">serialize</span>(<span class="kw-2">&</span><span class="ident">txin</span>.<span class="ident">script_sig</span>).<span class="ident">len</span>() <span class="op">*</span> <span class="number">4</span> <span class="op">+</span> <span class="ident">serialize</span>(<span class="kw-2">&</span><span class="ident">txin</span>.<span class="ident">witness</span>).<span class="ident">len</span>();
- (<span class="ident">weight</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>)
+ (<span class="ident">weight</span>, <span class="ident">KeychainKind::External</span>)
}
};
<span class="prelude-val">Ok</span>(<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>: <span class="ident">weight</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">utxo</span>),
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">utxo</span>),
})
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>() <span class="op">></span> <span class="number">1</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">change_index</span> <span class="op">=</span> <span class="prelude-val">None</span>;
<span class="kw">for</span> (<span class="ident">index</span>, <span class="ident">txout</span>) <span class="kw">in</span> <span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">iter</span>().<span class="ident">enumerate</span>() {
- <span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">change_type</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">_get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>);
+ <span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">change_type</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">_get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::Internal</span>);
<span class="kw">match</span> <span class="self">self</span>
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
<span class="kw">let</span> <span class="ident">params</span> <span class="op">=</span> <span class="ident">TxParams</span> {
<span class="comment">// TODO: figure out what rbf option should be?</span>
- <span class="ident">version</span>: <span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">Version</span>(<span class="ident">tx</span>.<span class="ident">version</span>)),
+ <span class="ident">version</span>: <span class="prelude-val">Some</span>(<span class="ident">tx_builder::Version</span>(<span class="ident">tx</span>.<span class="ident">version</span>)),
<span class="ident">recipients</span>: <span class="ident">tx</span>
.<span class="ident">output</span>
.<span class="ident">into_iter</span>()
.<span class="ident">map</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> (<span class="ident">txout</span>.<span class="ident">script_pubkey</span>, <span class="ident">txout</span>.<span class="ident">value</span>))
.<span class="ident">collect</span>(),
<span class="ident">utxos</span>: <span class="ident">original_utxos</span>,
- <span class="ident">bumping_fee</span>: <span class="prelude-val">Some</span>(<span class="ident">tx_builder</span>::<span class="ident">PreviousFee</span> {
+ <span class="ident">bumping_fee</span>: <span class="prelude-val">Some</span>(<span class="ident">tx_builder::PreviousFee</span> {
<span class="ident">absolute</span>: <span class="ident">details</span>.<span class="ident">fees</span>,
<span class="ident">rate</span>: <span class="ident">feerate</span>,
}),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
};
<span class="prelude-val">Ok</span>(<span class="ident">TxBuilder</span> {
<span class="ident">wallet</span>: <span class="kw-2">&</span><span class="self">self</span>,
<span class="ident">params</span>,
- <span class="ident">coin_selection</span>: <span class="ident">DefaultCoinSelectionAlgorithm</span>::<span class="ident">default</span>(),
- <span class="ident">phantom</span>: <span class="ident">core</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>,
+ <span class="ident">coin_selection</span>: <span class="ident">DefaultCoinSelectionAlgorithm::default</span>(),
+ <span class="ident">phantom</span>: <span class="ident">core::marker::PhantomData</span>,
})
}
<span class="doccomment">/// Return the spending policies for the wallet's descriptor</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">policies</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">Policy</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">match</span> (<span class="ident">keychain</span>, <span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">as_ref</span>()) {
- (<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
+ (<span class="ident">KeychainKind::External</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="ident">descriptor</span>.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">signers</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>)<span class="question-mark">?</span>)
}
- (<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
- (<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="prelude-val">Some</span>(<span class="ident">desc</span>)) <span class="op">=</span><span class="op">></span> {
+ (<span class="ident">KeychainKind::Internal</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
+ (<span class="ident">KeychainKind::Internal</span>, <span class="prelude-val">Some</span>(<span class="ident">desc</span>)) <span class="op">=</span><span class="op">></span> {
<span class="prelude-val">Ok</span>(<span class="ident">desc</span>.<span class="ident">extract_policy</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">change_signers</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>)<span class="question-mark">?</span>)
}
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">ExtendedDescriptor</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">match</span> (<span class="ident">keychain</span>, <span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">as_ref</span>()) {
- (<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">descriptor</span>.<span class="ident">clone</span>())),
- (<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
- (<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="prelude-val">Some</span>(<span class="ident">desc</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">desc</span>.<span class="ident">clone</span>())),
+ (<span class="ident">KeychainKind::External</span>, <span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="self">self</span>.<span class="ident">descriptor</span>.<span class="ident">clone</span>())),
+ (<span class="ident">KeychainKind::Internal</span>, <span class="prelude-val">None</span>) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>),
+ (<span class="ident">KeychainKind::Internal</span>, <span class="prelude-val">Some</span>(<span class="ident">desc</span>)) <span class="op">=</span><span class="op">></span> <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="ident">desc</span>.<span class="ident">clone</span>())),
}
}
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
.<span class="ident">get_tx</span>(<span class="kw-2">&</span><span class="ident">input</span>.<span class="ident">previous_output</span>.<span class="ident">txid</span>, <span class="bool-val">false</span>)<span class="question-mark">?</span>
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">tx</span><span class="op">|</span> <span class="ident">tx</span>.<span class="ident">height</span>.<span class="ident">unwrap_or</span>(<span class="ident">std</span>::<span class="ident">u32</span>::<span class="ident">MAX</span>));
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">tx</span><span class="op">|</span> <span class="ident">tx</span>.<span class="ident">height</span>.<span class="ident">unwrap_or</span>(<span class="ident">std::u32::MAX</span>));
<span class="kw">let</span> <span class="ident">current_height</span> <span class="op">=</span> <span class="ident">assume_height</span>.<span class="ident">or</span>(<span class="self">self</span>.<span class="ident">current_height</span>);
- <span class="macro">debug</span><span class="macro">!</span>(
+ <span class="macro">debug!</span>(
<span class="string">"Input #{} - {}, using `create_height` = {:?}, `current_height` = {:?}"</span>,
<span class="ident">n</span>, <span class="ident">input</span>.<span class="ident">previous_output</span>, <span class="ident">create_height</span>, <span class="ident">current_height</span>
);
<span class="kw">match</span> <span class="ident">desc</span> {
<span class="prelude-val">Some</span>(<span class="ident">desc</span>) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tmp_input</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">TxIn</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tmp_input</span> <span class="op">=</span> <span class="ident">bitcoin::TxIn::default</span>();
<span class="kw">match</span> <span class="ident">desc</span>.<span class="ident">satisfy</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tmp_input</span>,
(
- <span class="ident">PsbtInputSatisfier</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">psbt</span>, <span class="ident">n</span>),
- <span class="ident">After</span>::<span class="ident">new</span>(<span class="ident">current_height</span>, <span class="bool-val">false</span>),
- <span class="ident">Older</span>::<span class="ident">new</span>(<span class="ident">current_height</span>, <span class="ident">create_height</span>, <span class="bool-val">false</span>),
+ <span class="ident">PsbtInputSatisfier::new</span>(<span class="kw-2">&</span><span class="ident">psbt</span>, <span class="ident">n</span>),
+ <span class="ident">After::new</span>(<span class="ident">current_height</span>, <span class="bool-val">false</span>),
+ <span class="ident">Older::new</span>(<span class="ident">current_height</span>, <span class="ident">create_height</span>, <span class="bool-val">false</span>),
),
) {
<span class="prelude-val">Ok</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> {
<span class="ident">psbt_input</span>.<span class="ident">final_script_witness</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">tmp_input</span>.<span class="ident">witness</span>);
}
<span class="prelude-val">Err</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> {
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"satisfy error {:?} for input {}"</span>, <span class="ident">e</span>, <span class="ident">n</span>);
+ <span class="macro">debug!</span>(<span class="string">"satisfy error {:?} for input {}"</span>, <span class="ident">e</span>, <span class="ident">n</span>);
<span class="ident">finished</span> <span class="op">=</span> <span class="bool-val">false</span>
}
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
) <span class="op">-</span><span class="op">></span> (<span class="kw-2">&</span><span class="ident">ExtendedDescriptor</span>, <span class="ident">KeychainKind</span>) {
<span class="kw">match</span> <span class="ident">keychain</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> (
+ <span class="ident">KeychainKind::Internal</span> <span class="kw">if</span> <span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">is_some</span>() <span class="op">=</span><span class="op">></span> (
<span class="self">self</span>.<span class="ident">change_descriptor</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap</span>(),
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>,
+ <span class="ident">KeychainKind::Internal</span>,
),
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> (<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">descriptor</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> (<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">descriptor</span>, <span class="ident">KeychainKind::External</span>),
}
}
}
<span class="kw">fn</span> <span class="ident">get_change_address</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Script</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keychain</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">_get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>);
+ <span class="kw">let</span> (<span class="ident">desc</span>, <span class="ident">keychain</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">_get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::Internal</span>);
<span class="kw">let</span> <span class="ident">index</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">fetch_and_increment_index</span>(<span class="ident">keychain</span>)<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">desc</span>.<span class="ident">as_derived</span>(<span class="ident">index</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>).<span class="ident">script_pubkey</span>())
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">address_batch</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">database</span>.<span class="ident">borrow</span>().<span class="ident">begin_batch</span>();
- <span class="kw">let</span> <span class="ident">start_time</span> <span class="op">=</span> <span class="ident">time</span>::<span class="ident">Instant</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">start_time</span> <span class="op">=</span> <span class="ident">time::Instant::new</span>();
<span class="kw">for</span> <span class="ident">i</span> <span class="kw">in</span> <span class="ident">from</span>..(<span class="ident">from</span> <span class="op">+</span> <span class="ident">count</span>) {
<span class="ident">address_batch</span>.<span class="ident">set_script_pubkey</span>(
<span class="kw-2">&</span><span class="ident">descriptor</span>.<span class="ident">as_derived</span>(<span class="ident">i</span>, <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>).<span class="ident">script_pubkey</span>(),
)<span class="question-mark">?</span>;
}
- <span class="macro">info</span><span class="macro">!</span>(
+ <span class="macro">info!</span>(
<span class="string">"Derivation of {} addresses from {} took {} ms"</span>,
<span class="ident">count</span>,
<span class="ident">from</span>,
<span class="doccomment">/// Given the options returns the list of utxos that must be used to form the</span>
<span class="doccomment">/// transaction and any further that may be used if needed.</span>
- <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy</span>::<span class="ident">type_complexity</span>)]</span>
+ <span class="attribute">#[<span class="ident">allow</span>(<span class="ident">clippy::type_complexity</span>)]</span>
<span class="kw">fn</span> <span class="ident">preselect_utxos</span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">change_policy</span>: <span class="ident">tx_builder</span>::<span class="ident">ChangeSpendPolicy</span>,
+ <span class="ident">change_policy</span>: <span class="ident">tx_builder::ChangeSpendPolicy</span>,
<span class="ident">unspendable</span>: <span class="kw-2">&</span><span class="ident">HashSet</span><span class="op"><</span><span class="ident">OutPoint</span><span class="op">></span>,
<span class="ident">manually_selected</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">WeightedUtxo</span><span class="op">></span>,
<span class="ident">must_use_all_available</span>: <span class="ident">bool</span>,
<span class="comment">// NOTE: we are intentionally ignoring `unspendable` here. i.e manual</span>
<span class="comment">// selection overrides unspendable.</span>
<span class="kw">if</span> <span class="ident">manual_only</span> {
- <span class="kw">return</span> <span class="prelude-val">Ok</span>((<span class="ident">must_spend</span>, <span class="macro">vec</span><span class="macro">!</span>[]));
+ <span class="kw">return</span> <span class="prelude-val">Ok</span>((<span class="ident">must_spend</span>, <span class="macro">vec!</span>[]));
}
<span class="kw">let</span> <span class="ident">satisfies_confirmed</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">must_only_use_confirmed_tx</span> {
})
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>
}
- <span class="bool-val">false</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec</span><span class="macro">!</span>[<span class="bool-val">true</span>; <span class="ident">may_spend</span>.<span class="ident">len</span>()],
+ <span class="bool-val">false</span> <span class="op">=</span><span class="op">></span> <span class="macro">vec!</span>[<span class="bool-val">true</span>; <span class="ident">may_spend</span>.<span class="ident">len</span>()],
};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">i</span> <span class="op">=</span> <span class="number">0</span>;
.<span class="ident">into_iter</span>()
.<span class="ident">map</span>(<span class="op">|</span>(<span class="ident">local_utxo</span>, <span class="ident">satisfaction_weight</span>)<span class="op">|</span> <span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">local_utxo</span>),
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">local_utxo</span>),
})
.<span class="ident">collect</span>();
<span class="ident">selected</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">Utxo</span><span class="op">></span>,
<span class="ident">params</span>: <span class="ident">TxParams</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">PSBT</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">serialize</span>::<span class="ident">Serialize</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::psbt::serialize::Serialize</span>;
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">psbt</span> <span class="op">=</span> <span class="ident">PSBT</span>::<span class="ident">from_unsigned_tx</span>(<span class="ident">tx</span>)<span class="question-mark">?</span>;
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">psbt</span> <span class="op">=</span> <span class="ident">PSBT::from_unsigned_tx</span>(<span class="ident">tx</span>)<span class="question-mark">?</span>;
<span class="kw">if</span> <span class="ident">params</span>.<span class="ident">add_global_xpubs</span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">all_xpubs</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">descriptor</span>.<span class="ident">get_extended_keys</span>()<span class="question-mark">?</span>;
}
<span class="kw">for</span> <span class="ident">xpub</span> <span class="kw">in</span> <span class="ident">all_xpubs</span> {
- <span class="kw">let</span> <span class="ident">serialized_xpub</span> <span class="op">=</span> <span class="ident">base58</span>::<span class="ident">from_check</span>(<span class="kw-2">&</span><span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">to_string</span>())
+ <span class="kw">let</span> <span class="ident">serialized_xpub</span> <span class="op">=</span> <span class="ident">base58::from_check</span>(<span class="kw-2">&</span><span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">to_string</span>())
.<span class="ident">expect</span>(<span class="string">"Internal serialization error"</span>);
<span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">PSBTKey</span> {
<span class="ident">type_value</span>: <span class="number">0x01</span>,
<span class="kw">let</span> <span class="ident">origin</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">xpub</span>.<span class="ident">origin</span> {
<span class="prelude-val">Some</span>(<span class="ident">origin</span>) <span class="op">=</span><span class="op">></span> <span class="ident">origin</span>,
<span class="prelude-val">None</span> <span class="kw">if</span> <span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">depth</span> <span class="op">=</span><span class="op">=</span> <span class="number">0</span> <span class="op">=</span><span class="op">></span> {
- (<span class="ident">xpub</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>), <span class="macro">vec</span><span class="macro">!</span>[].<span class="ident">into</span>())
+ (<span class="ident">xpub</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">secp</span>), <span class="macro">vec!</span>[].<span class="ident">into</span>())
}
- <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">MissingKeyOrigin</span>(<span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">to_string</span>())),
+ <span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::MissingKeyOrigin</span>(<span class="ident">xpub</span>.<span class="ident">xkey</span>.<span class="ident">to_string</span>())),
};
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">insert</span>(<span class="ident">key</span>, <span class="ident">origin</span>.<span class="ident">serialize</span>());
};
<span class="kw">match</span> <span class="ident">utxo</span> {
- <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">utxo</span>) <span class="op">=</span><span class="op">></span> {
+ <span class="ident">Utxo::Local</span>(<span class="ident">utxo</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw-2">*</span><span class="ident">psbt_input</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>.<span class="ident">get_psbt_input</span>(
<span class="ident">utxo</span>,
<span class="ident">params</span>.<span class="ident">sighash</span>,
) {
<span class="prelude-val">Ok</span>(<span class="ident">psbt_input</span>) <span class="op">=</span><span class="op">></span> <span class="ident">psbt_input</span>,
<span class="prelude-val">Err</span>(<span class="ident">e</span>) <span class="op">=</span><span class="op">></span> <span class="kw">match</span> <span class="ident">e</span> {
- <span class="ident">Error</span>::<span class="ident">UnknownUtxo</span> <span class="op">=</span><span class="op">></span> <span class="ident">Input</span> {
+ <span class="ident">Error::UnknownUtxo</span> <span class="op">=</span><span class="op">></span> <span class="ident">Input</span> {
<span class="ident">sighash_type</span>: <span class="ident">params</span>.<span class="ident">sighash</span>,
- ..<span class="ident">Input</span>::<span class="ident">default</span>()
+ ..<span class="ident">Input::default</span>()
},
<span class="kw">_</span> <span class="op">=</span><span class="op">></span> <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">e</span>),
},
}
}
- <span class="ident">Utxo</span>::<span class="ident">Foreign</span> {
+ <span class="ident">Utxo::Foreign</span> {
<span class="ident">psbt_input</span>: <span class="ident">foreign_psbt_input</span>,
<span class="ident">outpoint</span>,
} <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">params</span>.<span class="ident">force_non_witness_utxo</span>
<span class="op">&&</span> <span class="ident">foreign_psbt_input</span>.<span class="ident">non_witness_utxo</span>.<span class="ident">is_none</span>()
{
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(<span class="macro">format</span><span class="macro">!</span>(
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(<span class="macro">format!</span>(
<span class="string">"Missing non_witness_utxo on foreign utxo {}"</span>,
<span class="ident">outpoint</span>
)));
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">utxo</span>.<span class="ident">txout</span>.<span class="ident">script_pubkey</span>)<span class="question-mark">?</span>
- .<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">UnknownUtxo</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">Error::UnknownUtxo</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">Input</span> {
<span class="ident">sighash_type</span>,
- ..<span class="ident">Input</span>::<span class="ident">default</span>()
+ ..<span class="ident">Input::default</span>()
};
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">keychain</span>);
}
<span class="kw">fn</span> <span class="ident">add_input_hd_keypaths</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">PSBT</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">input_utxos</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>());
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">input_utxos</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>());
<span class="kw">for</span> <span class="ident">n</span> <span class="kw">in</span> <span class="number">0</span>..<span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>() {
<span class="ident">input_utxos</span>.<span class="ident">push</span>(<span class="ident">psbt</span>.<span class="ident">get_utxo_for</span>(<span class="ident">n</span>).<span class="ident">clone</span>());
}
.<span class="ident">borrow</span>()
.<span class="ident">get_path_from_script_pubkey</span>(<span class="kw-2">&</span><span class="ident">out</span>.<span class="ident">script_pubkey</span>)<span class="question-mark">?</span>
{
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Found descriptor {:?}/{}"</span>, <span class="ident">keychain</span>, <span class="ident">child</span>);
+ <span class="macro">debug!</span>(<span class="string">"Found descriptor {:?}/{}"</span>, <span class="ident">keychain</span>, <span class="ident">child</span>);
<span class="comment">// merge hd_keypaths</span>
<span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">keychain</span>);
<span class="ident">database</span>: <span class="ident">D</span>,
<span class="ident">client</span>: <span class="ident">B</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">current_height</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="macro">maybe_await</span><span class="macro">!</span>(<span class="ident">client</span>.<span class="ident">get_height</span>())<span class="question-mark">?</span> <span class="kw">as</span> <span class="ident">u32</span>);
- <span class="self">Self</span>::<span class="ident">_new</span>(
+ <span class="kw">let</span> <span class="ident">current_height</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="macro">maybe_await!</span>(<span class="ident">client</span>.<span class="ident">get_height</span>())<span class="question-mark">?</span> <span class="kw">as</span> <span class="ident">u32</span>);
+ <span class="self">Self</span><span class="ident">::_new</span>(
<span class="ident">descriptor</span>,
<span class="ident">change_descriptor</span>,
<span class="ident">network</span>,
<span class="ident">progress_update</span>: <span class="ident">P</span>,
<span class="ident">max_address_param</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">u32</span><span class="op">></span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">debug</span><span class="macro">!</span>(<span class="string">"Begin sync..."</span>);
+ <span class="macro">debug!</span>(<span class="string">"Begin sync..."</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">run_setup</span> <span class="op">=</span> <span class="bool-val">false</span>;
<span class="kw">if</span> <span class="self">self</span>
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">max_address</span>.<span class="ident">saturating_sub</span>(<span class="number">1</span>))<span class="question-mark">?</span>
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">max_address</span>.<span class="ident">saturating_sub</span>(<span class="number">1</span>))<span class="question-mark">?</span>
.<span class="ident">is_none</span>()
{
<span class="ident">run_setup</span> <span class="op">=</span> <span class="bool-val">true</span>;
- <span class="self">self</span>.<span class="ident">cache_addresses</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="number">0</span>, <span class="ident">max_address</span>)<span class="question-mark">?</span>;
+ <span class="self">self</span>.<span class="ident">cache_addresses</span>(<span class="ident">KeychainKind::External</span>, <span class="number">0</span>, <span class="ident">max_address</span>)<span class="question-mark">?</span>;
}
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">change_descriptor</span>) <span class="op">=</span> <span class="kw-2">&</span><span class="self">self</span>.<span class="ident">change_descriptor</span> {
<span class="kw">if</span> <span class="self">self</span>
.<span class="ident">database</span>
.<span class="ident">borrow</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="ident">max_address</span>.<span class="ident">saturating_sub</span>(<span class="number">1</span>))<span class="question-mark">?</span>
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::Internal</span>, <span class="ident">max_address</span>.<span class="ident">saturating_sub</span>(<span class="number">1</span>))<span class="question-mark">?</span>
.<span class="ident">is_none</span>()
{
<span class="ident">run_setup</span> <span class="op">=</span> <span class="bool-val">true</span>;
- <span class="self">self</span>.<span class="ident">cache_addresses</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="number">0</span>, <span class="ident">max_address</span>)<span class="question-mark">?</span>;
+ <span class="self">self</span>.<span class="ident">cache_addresses</span>(<span class="ident">KeychainKind::Internal</span>, <span class="number">0</span>, <span class="ident">max_address</span>)<span class="question-mark">?</span>;
}
}
<span class="comment">// TODO: what if i generate an address first and cache some addresses?</span>
<span class="comment">// TODO: we should sync if generating an address triggers a new batch to be stored</span>
<span class="kw">if</span> <span class="ident">run_setup</span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">setup</span>(
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">setup</span>(
<span class="prelude-val">None</span>,
<span class="self">self</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>().<span class="ident">deref_mut</span>(),
<span class="ident">progress_update</span>,
))
} <span class="kw">else</span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">sync</span>(
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">sync</span>(
<span class="prelude-val">None</span>,
<span class="self">self</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>().<span class="ident">deref_mut</span>(),
<span class="ident">progress_update</span>,
<span class="doccomment">/// Broadcast a transaction to the network</span>
<span class="attribute">#[<span class="ident">maybe_async</span>]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="ident">Transaction</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Txid</span>, <span class="ident">Error</span><span class="op">></span> {
- <span class="macro">maybe_await</span><span class="macro">!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="ident">tx</span>))<span class="question-mark">?</span>;
+ <span class="macro">maybe_await!</span>(<span class="self">self</span>.<span class="ident">client</span>.<span class="ident">broadcast</span>(<span class="kw-2">&</span><span class="ident">tx</span>))<span class="question-mark">?</span>;
<span class="prelude-val">Ok</span>(<span class="ident">tx</span>.<span class="ident">txid</span>())
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">test</span> {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">util</span>::<span class="ident">psbt</span>, <span class="ident">Network</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">util::psbt</span>, <span class="ident">Network</span>};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">memory</span>::<span class="ident">MemoryDatabase</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">database</span>::<span class="ident">Database</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">KeychainKind</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::memory::MemoryDatabase</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::database::Database</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types::KeychainKind</span>;
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">wallet</span>::<span class="ident">AddressIndex</span>::{<span class="ident">LastUnused</span>, <span class="ident">New</span>, <span class="ident">Peek</span>, <span class="ident">Reset</span>};
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::wallet::AddressIndex</span>::{<span class="ident">LastUnused</span>, <span class="ident">New</span>, <span class="ident">Peek</span>, <span class="ident">Reset</span>};
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_cache_addresses_fixed</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="string">"wpkh(L5EZftvrYaSudiozVRzTqLcHLNDoVn7H5HSfM9BAN6tMJX8oTWz6)"</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
+ <span class="ident">Network::Testnet</span>,
<span class="ident">db</span>,
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1qj08ys4ct2hzzc2hcz6h2hgrvlmsjynaw43s835"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1qj08ys4ct2hzzc2hcz6h2hgrvlmsjynaw43s835"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="number">0</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="number">0</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_some</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">Internal</span>, <span class="number">0</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::Internal</span>, <span class="number">0</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_none</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_cache_addresses</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">-</span> <span class="number">1</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">-</span> <span class="number">1</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_some</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_none</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_cache_addresses_refill</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>, <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>, <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">-</span> <span class="number">1</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">-</span> <span class="number">1</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_some</span>());
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
}
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">wallet</span>
+ <span class="macro">assert!</span>(<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">*</span> <span class="number">2</span> <span class="op">-</span> <span class="number">1</span>)
+ .<span class="ident">get_script_pubkey_from_path</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">CACHE_ADDR_BATCH_SIZE</span> <span class="op">*</span> <span class="number">2</span> <span class="op">-</span> <span class="number">1</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">is_some</span>());
}
) <span class="op">-</span><span class="op">></span> (
<span class="ident">Wallet</span><span class="op"><</span>(), <span class="ident">MemoryDatabase</span><span class="op">></span>,
(<span class="ident">String</span>, <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>),
- <span class="ident">bitcoin</span>::<span class="ident">Txid</span>,
+ <span class="ident">bitcoin::Txid</span>,
) {
- <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>));
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>));
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="kw-2">&</span><span class="ident">descriptors</span>.<span class="number">0</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Regtest</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>(),
+ <span class="ident">Network::Regtest</span>,
+ <span class="ident">MemoryDatabase::new</span>(),
)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">funding_address_kix</span> <span class="op">=</span> <span class="number">0</span>;
- <span class="kw">let</span> <span class="ident">tx_meta</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span> {
+ <span class="kw">let</span> <span class="ident">tx_meta</span> <span class="op">=</span> <span class="macro">testutils!</span> {
@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="ident">funding_address_kix</span>) <span class="op">=</span><span class="op">></span> <span class="number">50_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)
};
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
.<span class="ident">set_script_pubkey</span>(
- <span class="kw-2">&</span><span class="ident">bitcoin</span>::<span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="kw-2">&</span><span class="ident">tx_meta</span>.<span class="ident">output</span>.<span class="ident">get</span>(<span class="number">0</span>).<span class="ident">unwrap</span>().<span class="ident">to_address</span>)
+ <span class="kw-2">&</span><span class="ident">bitcoin::Address::from_str</span>(<span class="kw-2">&</span><span class="ident">tx_meta</span>.<span class="ident">output</span>.<span class="ident">get</span>(<span class="number">0</span>).<span class="ident">unwrap</span>().<span class="ident">to_address</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">script_pubkey</span>(),
- <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">KeychainKind::External</span>,
<span class="ident">funding_address_kix</span>,
)
.<span class="ident">unwrap</span>();
<span class="ident">wallet</span>
.<span class="ident">database</span>
.<span class="ident">borrow_mut</span>()
- .<span class="ident">set_last_index</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>, <span class="ident">funding_address_kix</span>)
+ .<span class="ident">set_last_index</span>(<span class="ident">KeychainKind::External</span>, <span class="ident">funding_address_kix</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(), <span class="ident">tx_meta</span>, <span class="prelude-val">Some</span>(<span class="number">100</span>));
+ <span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(), <span class="ident">tx_meta</span>, <span class="prelude-val">Some</span>(<span class="number">100</span>));
(<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="ident">txid</span>)
}
- <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">assert_fee_rate</span> {
+ <span class="macro">macro_rules!</span> <span class="ident">assert_fee_rate</span> {
(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">tx</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">fees</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">fee_rate</span>:<span class="ident">expr</span> $( ,@<span class="ident">dust_change</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">dust_change</span>:<span class="ident">expr</span> )<span class="op">*</span> )<span class="op">*</span> $( ,@<span class="ident">add_signature</span> $( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">add_signature</span>:<span class="ident">expr</span> )<span class="op">*</span> )<span class="op">*</span> ) <span class="op">=</span><span class="op">></span> ({
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">tx</span>.<span class="ident">clone</span>();
$(
<span class="kw">let</span> <span class="ident">fee_rate</span> <span class="op">=</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">fee_rate</span>.<span class="ident">as_sat_vb</span>();
<span class="kw">if</span> <span class="op">!</span><span class="ident">dust_change</span> {
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">tx_fee_rate</span> <span class="op">-</span> <span class="ident">fee_rate</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.5</span>, <span class="string">"Expected fee rate of {}, the tx has {}"</span>, <span class="ident">fee_rate</span>, <span class="ident">tx_fee_rate</span>);
+ <span class="macro">assert!</span>((<span class="ident">tx_fee_rate</span> <span class="op">-</span> <span class="ident">fee_rate</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.5</span>, <span class="string">"Expected fee rate of {}, the tx has {}"</span>, <span class="ident">fee_rate</span>, <span class="ident">tx_fee_rate</span>);
} <span class="kw">else</span> {
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">tx_fee_rate</span> <span class="op">></span><span class="op">=</span> <span class="ident">fee_rate</span>, <span class="string">"Expected fee rate of at least {}, the tx has {}"</span>, <span class="ident">fee_rate</span>, <span class="ident">tx_fee_rate</span>);
+ <span class="macro">assert!</span>(<span class="ident">tx_fee_rate</span> <span class="op">></span><span class="op">=</span> <span class="ident">fee_rate</span>, <span class="string">"Expected fee rate of at least {}, the tx has {}"</span>, <span class="ident">fee_rate</span>, <span class="ident">tx_fee_rate</span>);
}
});
}
.<span class="ident">version</span>(<span class="number">42</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">version</span>, <span class="number">42</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">version</span>, <span class="number">42</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">0</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">0</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">100_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">100_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">nlocktime</span>(<span class="number">630_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">630_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">630_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">nlocktime</span>(<span class="number">630_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">630_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">lock_time</span>, <span class="number">630_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">6</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">6</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="comment">// When CSV is enabled it takes precedence over the rbf value (unless forced by the user).</span>
<span class="comment">// It will be set to the OP_CSV value, in this case 6</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">6</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">6</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFE</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFE</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">enable_rbf_with_sequence</span>(<span class="number">0xDEADBEEF</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xDEADBEEF</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xDEADBEEF</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFF</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFF</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>,
<span class="number">50_000</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">default</span>(), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::default</span>(), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>)
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>));
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">fee_absolute</span>(<span class="number">100</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">100</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">100</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>,
<span class="number">50_000</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
.<span class="ident">fee_absolute</span>(<span class="number">0</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">0</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">0</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>,
<span class="number">50_000</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_add_change</span>() {
- <span class="kw">use</span> <span class="kw">super</span>::<span class="ident">tx_builder</span>::<span class="ident">TxOrdering</span>;
+ <span class="kw">use</span> <span class="kw">super</span><span class="ident">::tx_builder::TxOrdering</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
<span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>)
- .<span class="ident">ordering</span>(<span class="ident">TxOrdering</span>::<span class="ident">Untouched</span>);
+ .<span class="ident">ordering</span>(<span class="ident">TxOrdering::Untouched</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">1</span>].<span class="ident">value</span>,
<span class="number">25_000</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">49_800</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">49_800</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">200</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">49_800</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">200</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">drain_wallet</span>()
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">453.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">453.0</span>));
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
}
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">10_000</span>)
- .<span class="ident">ordering</span>(<span class="kw">super</span>::<span class="ident">tx_builder</span>::<span class="ident">TxOrdering</span>::<span class="ident">Bip69Lexicographic</span>);
+ .<span class="ident">ordering</span>(<span class="kw">super</span><span class="ident">::tx_builder::TxOrdering::Bip69Lexicographic</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">3</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">3</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>,
<span class="number">10_000</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">1</span>].<span class="ident">value</span>, <span class="number">10_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">2</span>].<span class="ident">value</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">1</span>].<span class="ident">value</span>, <span class="number">10_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">output</span>[<span class="number">2</span>].<span class="ident">value</span>, <span class="number">30_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">sighash_type</span>, <span class="prelude-val">None</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">sighash_type</span>, <span class="prelude-val">None</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
- .<span class="ident">sighash</span>(<span class="ident">bitcoin</span>::<span class="ident">SigHashType</span>::<span class="ident">Single</span>);
+ .<span class="ident">sighash</span>(<span class="ident">bitcoin::SigHashType::Single</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">sighash_type</span>,
- <span class="prelude-val">Some</span>(<span class="ident">bitcoin</span>::<span class="ident">SigHashType</span>::<span class="ident">Single</span>)
+ <span class="prelude-val">Some</span>(<span class="ident">bitcoin::SigHashType::Single</span>)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_input_hd_keypaths</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::{<span class="ident">DerivationPath</span>, <span class="ident">Fingerprint</span>};
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>::{<span class="ident">DerivationPath</span>, <span class="ident">Fingerprint</span>};
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="string">"wpkh([d34db33f/44'/0'/0']tpubDEnoLuPdBep9bzw5LoGYpsxUQYheRQ9gcgrJhJEcdKFB9cWQRyYmkCyRoTqeD4tJYiVVgt6A3rN6rWn9RYhR9sBsGxji29LYWHuKKbdb1ev/0/*)"</span>);
<span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">values</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>(),
<span class="kw-2">&</span>(
- <span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"d34db33f"</span>).<span class="ident">unwrap</span>(),
- <span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/44'/0'/0'/0/0"</span>).<span class="ident">unwrap</span>()
+ <span class="ident">Fingerprint::from_str</span>(<span class="string">"d34db33f"</span>).<span class="ident">unwrap</span>(),
+ <span class="ident">DerivationPath::from_str</span>(<span class="string">"m/44'/0'/0'/0/0"</span>).<span class="ident">unwrap</span>()
)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_output_hd_keypaths</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::{<span class="ident">DerivationPath</span>, <span class="ident">Fingerprint</span>};
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>::{<span class="ident">DerivationPath</span>, <span class="ident">Fingerprint</span>};
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="string">"wpkh([d34db33f/44'/0'/0']tpubDEnoLuPdBep9bzw5LoGYpsxUQYheRQ9gcgrJhJEcdKFB9cWQRyYmkCyRoTqeD4tJYiVVgt6A3rN6rWn9RYhR9sBsGxji29LYWHuKKbdb1ev/0/*)"</span>);
<span class="comment">// cache some addresses</span>
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span>(@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">5</span>);
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="macro">testutils!</span>(@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">5</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">outputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">outputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">outputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">values</span>().<span class="ident">next</span>().<span class="ident">unwrap</span>(),
<span class="kw-2">&</span>(
- <span class="ident">Fingerprint</span>::<span class="ident">from_str</span>(<span class="string">"d34db33f"</span>).<span class="ident">unwrap</span>(),
- <span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="string">"m/44'/0'/0'/0/5"</span>).<span class="ident">unwrap</span>()
+ <span class="ident">Fingerprint::from_str</span>(<span class="string">"d34db33f"</span>).<span class="ident">unwrap</span>(),
+ <span class="ident">DerivationPath::from_str</span>(<span class="string">"m/44'/0'/0'/0/5"</span>).<span class="ident">unwrap</span>()
)
);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_set_redeem_script_p2sh</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span>
<span class="ident">get_funded_wallet</span>(<span class="string">"sh(pk(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW))"</span>);
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">redeem_script</span>,
- <span class="prelude-val">Some</span>(<span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="prelude-val">Some</span>(<span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"21032b0558078bec38694a84933d659303e2575dae7e91685911454115bfd64487e3ac"</span>
)
.<span class="ident">unwrap</span>()
))
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_script</span>, <span class="prelude-val">None</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_script</span>, <span class="prelude-val">None</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_set_witness_script_p2wsh</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span>
<span class="ident">get_funded_wallet</span>(<span class="string">"wsh(pk(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW))"</span>);
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">redeem_script</span>, <span class="prelude-val">None</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">redeem_script</span>, <span class="prelude-val">None</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_script</span>,
- <span class="prelude-val">Some</span>(<span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="prelude-val">Some</span>(<span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"21032b0558078bec38694a84933d659303e2575dae7e91685911454115bfd64487e3ac"</span>
)
.<span class="ident">unwrap</span>()
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_set_redeem_witness_script_p2wsh_p2sh</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span>
<span class="ident">get_funded_wallet</span>(<span class="string">"sh(wsh(pk(cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW)))"</span>);
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script</span>::<span class="ident">from</span>(
- <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(
+ <span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="ident">Script::from</span>(
+ <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(
<span class="string">"21032b0558078bec38694a84933d659303e2575dae7e91685911454115bfd64487e3ac"</span>,
)
.<span class="ident">unwrap</span>(),
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">redeem_script</span>, <span class="prelude-val">Some</span>(<span class="ident">script</span>.<span class="ident">to_v0_p2wsh</span>()));
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_script</span>, <span class="prelude-val">Some</span>(<span class="ident">script</span>));
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">redeem_script</span>, <span class="prelude-val">Some</span>(<span class="ident">script</span>.<span class="ident">to_v0_p2wsh</span>()));
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_script</span>, <span class="prelude-val">Some</span>(<span class="ident">script</span>));
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_none</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_none</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_none</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_none</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">drain_wallet</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_none</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_none</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
.<span class="ident">force_non_witness_utxo</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>());
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_add_utxo</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">small_output_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">small_output_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(),
<span class="number">2</span>,
<span class="string">"should add an additional input since 25_000 < 30_000"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="number">75_000</span>, <span class="string">"total should be sum of both inputs"</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="number">75_000</span>, <span class="string">"total should be sum of both inputs"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>(<span class="ident">expected</span> <span class="op">=</span> <span class="string">"InsufficientFunds"</span>)]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_manually_selected_insufficient</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">small_output_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">small_output_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
<span class="kw">fn</span> <span class="ident">test_create_tx_policy_path_required</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_a_or_b_plus_csv</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>);
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">fn</span> <span class="ident">test_create_tx_policy_path_no_csv</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_a_or_b_plus_csv</span>());
- <span class="kw">let</span> <span class="ident">external_policy</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">policies</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">unwrap</span>().<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">external_policy</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">policies</span>(<span class="ident">KeychainKind::External</span>).<span class="ident">unwrap</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">root_id</span> <span class="op">=</span> <span class="ident">external_policy</span>.<span class="ident">id</span>;
<span class="comment">// child #0 is just the key "A"</span>
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">root_id</span>, <span class="macro">vec</span><span class="macro">!</span>[<span class="number">0</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="macro">vec!</span>[(<span class="ident">root_id</span>, <span class="macro">vec!</span>[<span class="number">0</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>();
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
- .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>);
+ .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind::External</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFF</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">0xFFFFFFFF</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_policy_path_use_csv</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_a_or_b_plus_csv</span>());
- <span class="kw">let</span> <span class="ident">external_policy</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">policies</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>).<span class="ident">unwrap</span>().<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">external_policy</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">policies</span>(<span class="ident">KeychainKind::External</span>).<span class="ident">unwrap</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">root_id</span> <span class="op">=</span> <span class="ident">external_policy</span>.<span class="ident">id</span>;
<span class="comment">// child #1 is or(pk(B),older(144))</span>
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[(<span class="ident">root_id</span>, <span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="macro">vec!</span>[(<span class="ident">root_id</span>, <span class="macro">vec!</span>[<span class="number">1</span>])].<span class="ident">into_iter</span>().<span class="ident">collect</span>();
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">30_000</span>)
- .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>);
+ .<span class="ident">policy_path</span>(<span class="ident">path</span>, <span class="ident">KeychainKind::External</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">144</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">sequence</span>, <span class="number">144</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_global_xpubs_with_origin</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">base58</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">raw</span>::<span class="ident">Key</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::base58</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::psbt::raw::Key</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="string">"wpkh([73756c7f/48'/0'/0'/2']tpubDCKxNyM3bLgbEX13Mcd8mYxbVg9ajDkWXMh29hMWBurKfVmBfWAM96QVP3zaUcN51HvkZ3ar4VwP82kC8JZhhux8vFQoJintSpVBwpFvyU3/0/*)"</span>);
<span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">type_value</span> <span class="op">=</span> <span class="number">0x01</span>;
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">base58</span>::<span class="ident">from_check</span>(<span class="string">"tpubDCKxNyM3bLgbEX13Mcd8mYxbVg9ajDkWXMh29hMWBurKfVmBfWAM96QVP3zaUcN51HvkZ3ar4VwP82kC8JZhhux8vFQoJintSpVBwpFvyU3"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">base58::from_check</span>(<span class="string">"tpubDCKxNyM3bLgbEX13Mcd8mYxbVg9ajDkWXMh29hMWBurKfVmBfWAM96QVP3zaUcN51HvkZ3ar4VwP82kC8JZhhux8vFQoJintSpVBwpFvyU3"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">psbt_key</span> <span class="op">=</span> <span class="ident">Key</span> { <span class="ident">type_value</span>, <span class="ident">key</span> };
<span class="comment">// This key has an explicit origin, so it will be encoded here</span>
- <span class="kw">let</span> <span class="ident">value_bytes</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"73756c7f30000080000000800000008002000080"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">value_bytes</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"73756c7f30000080000000800000008002000080"</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">psbt_key</span>), <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">value_bytes</span>));
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">psbt_key</span>), <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">value_bytes</span>));
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">wallet1</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
<span class="kw">let</span> (<span class="ident">wallet2</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span>
<span class="ident">get_funded_wallet</span>(<span class="string">"wpkh(cVbZ8ovhye9AoAHFsqobCf7LxbXDAECy9Kb8TZdfsDYMZGBUyCnm)"</span>);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">utxo</span> <span class="op">=</span> <span class="ident">wallet2</span>.<span class="ident">list_unspent</span>().<span class="ident">unwrap</span>().<span class="ident">remove</span>(<span class="number">0</span>);
<span class="kw">let</span> <span class="ident">foreign_utxo_satisfaction</span> <span class="op">=</span> <span class="ident">wallet2</span>
- .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)
+ .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::External</span>)
.<span class="ident">max_satisfaction_weight</span>()
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt::Input</span> {
<span class="ident">witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">utxo</span>.<span class="ident">txout</span>.<span class="ident">clone</span>()),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet1</span>.<span class="ident">build_tx</span>();
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">details</span>.<span class="ident">sent</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">received</span>,
<span class="number">10_000</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>,
<span class="string">"we should have only net spent ~10_000"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">psbt</span>.<span class="ident">global</span>
.<span class="ident">unsigned_tx</span>
.<span class="ident">input</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">finished</span>) <span class="op">=</span> <span class="ident">wallet1</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="op">!</span><span class="ident">finished</span>,
<span class="string">"only one of the inputs should have been signed so far"</span>
);
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">finished</span>) <span class="op">=</span> <span class="ident">wallet2</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">finished</span>, <span class="string">"all the inputs should have been signed now"</span>);
+ <span class="macro">assert!</span>(<span class="ident">finished</span>, <span class="string">"all the inputs should have been signed now"</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">list_unspent</span>().<span class="ident">unwrap</span>()[<span class="number">0</span>].<span class="ident">outpoint</span>;
<span class="kw">let</span> <span class="ident">foreign_utxo_satisfaction</span> <span class="op">=</span> <span class="ident">wallet</span>
- .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)
+ .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::External</span>)
.<span class="ident">max_satisfaction_weight</span>()
.<span class="ident">unwrap</span>();
<span class="ident">builder</span>
- .<span class="ident">add_foreign_utxo</span>(<span class="ident">outpoint</span>, <span class="ident">psbt</span>::<span class="ident">Input</span>::<span class="ident">default</span>(), <span class="ident">foreign_utxo_satisfaction</span>)
+ .<span class="ident">add_foreign_utxo</span>(<span class="ident">outpoint</span>, <span class="ident">psbt::Input::default</span>(), <span class="ident">foreign_utxo_satisfaction</span>)
.<span class="ident">unwrap</span>();
}
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">satisfaction_weight</span> <span class="op">=</span> <span class="ident">wallet2</span>
- .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)
+ .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::External</span>)
.<span class="ident">max_satisfaction_weight</span>()
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet1</span>.<span class="ident">build_tx</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">builder</span>
.<span class="ident">add_foreign_utxo</span>(
<span class="ident">utxo2</span>.<span class="ident">outpoint</span>,
- <span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="ident">psbt::Input</span> {
<span class="ident">non_witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">tx1</span>),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
},
<span class="ident">satisfaction_weight</span>
)
.<span class="ident">is_err</span>(),
<span class="string">"should fail when outpoint doesn't match psbt_input"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">builder</span>
.<span class="ident">add_foreign_utxo</span>(
<span class="ident">utxo2</span>.<span class="ident">outpoint</span>,
- <span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="ident">psbt::Input</span> {
<span class="ident">non_witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">tx2</span>),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
},
<span class="ident">satisfaction_weight</span>
)
<span class="kw">let</span> (<span class="ident">wallet1</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
<span class="kw">let</span> (<span class="ident">wallet2</span>, <span class="kw">_</span>, <span class="ident">txid2</span>) <span class="op">=</span>
<span class="ident">get_funded_wallet</span>(<span class="string">"wpkh(cVbZ8ovhye9AoAHFsqobCf7LxbXDAECy9Kb8TZdfsDYMZGBUyCnm)"</span>);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">utxo2</span> <span class="op">=</span> <span class="ident">wallet2</span>.<span class="ident">list_unspent</span>().<span class="ident">unwrap</span>().<span class="ident">remove</span>(<span class="number">0</span>);
<span class="kw">let</span> <span class="ident">satisfaction_weight</span> <span class="op">=</span> <span class="ident">wallet2</span>
- .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind</span>::<span class="ident">External</span>)
+ .<span class="ident">get_descriptor_for_keychain</span>(<span class="ident">KeychainKind::External</span>)
.<span class="ident">max_satisfaction_weight</span>()
.<span class="ident">unwrap</span>();
{
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">clone</span>();
- <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt::Input</span> {
<span class="ident">witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">utxo2</span>.<span class="ident">txout</span>.<span class="ident">clone</span>()),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
};
<span class="ident">builder</span>
.<span class="ident">add_foreign_utxo</span>(<span class="ident">utxo2</span>.<span class="ident">outpoint</span>, <span class="ident">psbt_input</span>, <span class="ident">satisfaction_weight</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">is_err</span>(),
<span class="string">"psbt_input with witness_utxo should fail with only witness_utxo"</span>
);
.<span class="ident">unwrap</span>()
.<span class="ident">transaction</span>
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">psbt::Input</span> {
<span class="ident">non_witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">tx2</span>),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
};
<span class="ident">builder</span>
.<span class="ident">add_foreign_utxo</span>(<span class="ident">utxo2</span>.<span class="ident">outpoint</span>, <span class="ident">psbt_input</span>, <span class="ident">satisfaction_weight</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">is_ok</span>(),
<span class="string">"psbt_input with non_witness_utxo should succeed with force_non_witness_utxo"</span>
);
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
<span class="kw">for</span> <span class="ident">utxo</span> <span class="kw">in</span> <span class="ident">wallet</span>.<span class="ident">list_unspent</span>().<span class="ident">unwrap</span>() {
<span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_psbt_input</span>(<span class="ident">utxo</span>, <span class="prelude-val">None</span>, <span class="bool-val">false</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt_input</span>.<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">psbt_input</span>.<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
+ <span class="macro">assert!</span>(<span class="ident">psbt_input</span>.<span class="ident">witness_utxo</span>.<span class="ident">is_some</span>() <span class="op">|</span><span class="op">|</span> <span class="ident">psbt_input</span>.<span class="ident">non_witness_utxo</span>.<span class="ident">is_some</span>());
}
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_create_tx_global_xpubs_master_without_origin</span>() {
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">base58</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">raw</span>::<span class="ident">Key</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::base58</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::psbt::raw::Key</span>;
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="string">"wpkh(tpubD6NzVbkrYhZ4Y55A58Gv9RSNF5hy84b5AJqYy7sCcjFrkcLpPre8kmgfit6kY1Zs3BLgeypTDBZJM222guPpdz7Cup5yzaMu62u7mYGbwFL/0/*)"</span>);
<span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">type_value</span> <span class="op">=</span> <span class="number">0x01</span>;
- <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">base58</span>::<span class="ident">from_check</span>(<span class="string">"tpubD6NzVbkrYhZ4Y55A58Gv9RSNF5hy84b5AJqYy7sCcjFrkcLpPre8kmgfit6kY1Zs3BLgeypTDBZJM222guPpdz7Cup5yzaMu62u7mYGbwFL"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">key</span> <span class="op">=</span> <span class="ident">base58::from_check</span>(<span class="string">"tpubD6NzVbkrYhZ4Y55A58Gv9RSNF5hy84b5AJqYy7sCcjFrkcLpPre8kmgfit6kY1Zs3BLgeypTDBZJM222guPpdz7Cup5yzaMu62u7mYGbwFL"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">psbt_key</span> <span class="op">=</span> <span class="ident">Key</span> { <span class="ident">type_value</span>, <span class="ident">key</span> };
<span class="comment">// This key doesn't have an explicit origin, but it's a master key (depth = 0). So we encode</span>
<span class="comment">// its fingerprint directly and an empty path</span>
- <span class="kw">let</span> <span class="ident">value_bytes</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="string">"997a323b"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">value_bytes</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="string">"997a323b"</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">psbt_key</span>), <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">value_bytes</span>));
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unknown</span>.<span class="ident">get</span>(<span class="kw-2">&</span><span class="ident">psbt_key</span>), <span class="prelude-val">Some</span>(<span class="kw-2">&</span><span class="ident">value_bytes</span>));
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>().<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">details</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
- <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>));
+ <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>));
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_reduce_change</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
- <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">2.5</span>)).<span class="ident">enable_rbf</span>();
+ <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">2.5</span>)).<span class="ident">enable_rbf</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">details</span>.<span class="ident">received</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>,
<span class="ident">original_details</span>.<span class="ident">received</span> <span class="op">+</span> <span class="ident">original_details</span>.<span class="ident">fees</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
+ <span class="macro">assert!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">25_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">2.5</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">2.5</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_absolute_reduce_change</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">25_000</span>)
<span class="ident">builder</span>.<span class="ident">enable_rbf</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">details</span>.<span class="ident">received</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>,
<span class="ident">original_details</span>.<span class="ident">received</span> <span class="op">+</span> <span class="ident">original_details</span>.<span class="ident">fees</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>,
<span class="string">"{} > {}"</span>,
<span class="ident">details</span>.<span class="ident">fees</span>,
);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">25_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">200</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">200</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_reduce_single_recipient</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
<span class="ident">builder</span>
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">2.5</span>))
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">2.5</span>))
.<span class="ident">maintain_single_recipient</span>()
.<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">details</span>.<span class="ident">sent</span>);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">2.5</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">2.5</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_absolute_reduce_single_recipient</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">fee_absolute</span>(<span class="number">300</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">></span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">details</span>.<span class="ident">sent</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">details</span>.<span class="ident">sent</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">300</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">300</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_drain_wallet</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
<span class="comment">// receive an extra tx so that our wallet has two utxos.</span>
- <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
<span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">OutPoint</span> {
<span class="ident">txid</span>: <span class="ident">incoming_txid</span>,
<span class="ident">vout</span>: <span class="number">0</span>,
};
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">borrow_mut</span>()
.<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">original_details</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">original_details</span>.<span class="ident">sent</span>, <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">original_details</span>.<span class="ident">sent</span>, <span class="number">25_000</span>);
<span class="comment">// for the new feerate, it should be enough to reduce the output, but since we specify</span>
<span class="comment">// `drain_wallet` we expect to spend everything</span>
.<span class="ident">drain_wallet</span>()
.<span class="ident">maintain_single_recipient</span>()
.<span class="ident">unwrap</span>()
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>));
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="number">75_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="number">75_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="comment">// told the wallet it's not allowed to add more inputs AND it can't reduce the value of the</span>
<span class="comment">// existing output. In other words, bump_fee + manually_selected_only is always an error</span>
<span class="comment">// unless you've also set "maintain_single_recipient".</span>
- <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
<span class="kw">let</span> <span class="ident">outpoint</span> <span class="op">=</span> <span class="ident">OutPoint</span> {
<span class="ident">txid</span>: <span class="ident">incoming_txid</span>,
<span class="ident">vout</span>: <span class="number">0</span>,
};
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">borrow_mut</span>()
.<span class="ident">set_tx</span>(<span class="kw-2">&</span><span class="ident">original_details</span>)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">original_details</span>.<span class="ident">sent</span>, <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">original_details</span>.<span class="ident">sent</span>, <span class="number">25_000</span>);
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
<span class="ident">builder</span>
.<span class="ident">manually_selected_only</span>()
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">255.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">255.0</span>));
<span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_add_input</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
- <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">50.0</span>));
+ <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">50.0</span>));
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">45_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">50.0</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">50.0</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_absolute_add_input</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
<span class="ident">builder</span>.<span class="ident">fee_absolute</span>(<span class="number">6_000</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">45_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">6_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">6_000</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_no_change_add_input_and_change</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
<span class="comment">// initially make a tx without change by using `set_single_recipient`</span>
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">set_single_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="comment">// now bump the fees without using `maintain_single_recipient`. the wallet should add an</span>
<span class="comment">// extra input and a change output, and leave the original output untouched</span>
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
- <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">50.0</span>));
+ <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">50.0</span>));
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">original_send_all_amount</span> <span class="op">=</span> <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">-</span> <span class="ident">original_details</span>.<span class="ident">fees</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">50_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">50_000</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">details</span>.<span class="ident">received</span>,
<span class="number">75_000</span> <span class="op">-</span> <span class="ident">original_send_all_amount</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="ident">original_send_all_amount</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="number">75_000</span> <span class="op">-</span> <span class="ident">original_send_all_amount</span> <span class="op">-</span> <span class="ident">details</span>.<span class="ident">fees</span>
);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">50.0</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">50.0</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_add_input_change_dust</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
.<span class="ident">enable_rbf</span>();
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw-2">mut</span> <span class="ident">original_details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
<span class="kw">let</span> <span class="ident">txid</span> <span class="op">=</span> <span class="ident">tx</span>.<span class="ident">txid</span>();
<span class="comment">// skip saving the new utxos, we know they can't be used anyways</span>
<span class="kw">for</span> <span class="ident">txin</span> <span class="kw">in</span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>.<span class="ident">input</span> {
.<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_fee_bump</span>(<span class="ident">txid</span>).<span class="ident">unwrap</span>();
- <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">140.0</span>));
+ <span class="ident">builder</span>.<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">140.0</span>));
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">original_details</span>.<span class="ident">received</span>, <span class="number">5_000</span> <span class="op">-</span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">original_details</span>.<span class="ident">received</span>, <span class="number">5_000</span> <span class="op">-</span> <span class="ident">original_details</span>.<span class="ident">fees</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">30_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">received</span>, <span class="number">0</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">received</span>, <span class="number">0</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="number">45_000</span>
);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">140.0</span>), @<span class="ident">dust_change</span>, @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">140.0</span>), @<span class="ident">dust_change</span>, @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_force_add_input</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
<span class="ident">vout</span>: <span class="number">0</span>,
})
.<span class="ident">unwrap</span>()
- .<span class="ident">fee_rate</span>(<span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>));
+ .<span class="ident">fee_rate</span>(<span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>));
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">45_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_fee_rate</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">5.0</span>), @<span class="ident">add_signature</span>);
+ <span class="macro">assert_fee_rate!</span>(<span class="ident">psbt</span>.<span class="ident">extract_tx</span>(), <span class="ident">details</span>.<span class="ident">fees</span>, <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">5.0</span>), @<span class="ident">add_signature</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_bump_fee_absolute_force_add_input</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="ident">descriptors</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">let</span> <span class="ident">incoming_txid</span> <span class="op">=</span> <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
.<span class="ident">fee_absolute</span>(<span class="number">250</span>);
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">details</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">sent</span>, <span class="ident">original_details</span>.<span class="ident">sent</span> <span class="op">+</span> <span class="number">25_000</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span> <span class="op">+</span> <span class="ident">details</span>.<span class="ident">received</span>, <span class="number">30_000</span>);
<span class="kw">let</span> <span class="ident">tx</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>;
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">=</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
.<span class="ident">value</span>,
<span class="number">45_000</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">output</span>
.<span class="ident">iter</span>()
.<span class="ident">find</span>(<span class="op">|</span><span class="ident">txout</span><span class="op">|</span> <span class="ident">txout</span>.<span class="ident">script_pubkey</span> <span class="op">!</span><span class="op">=</span> <span class="ident">addr</span>.<span class="ident">script_pubkey</span>())
<span class="ident">details</span>.<span class="ident">received</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">250</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">details</span>.<span class="ident">fees</span>, <span class="number">250</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">clear</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">0</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">bip32_derivation</span>.<span class="ident">len</span>(), <span class="number">0</span>);
<span class="kw">let</span> (<span class="ident">signed_psbt</span>, <span class="ident">finalized</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">finalized</span>, <span class="bool-val">true</span>);
<span class="kw">let</span> <span class="ident">extracted</span> <span class="op">=</span> <span class="ident">signed_psbt</span>.<span class="ident">extract_tx</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">extracted</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">witness</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_include_output_redeem_witness_script</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="string">"sh(wsh(multi(1,cVpPVruEDdmutPzisEsYvtST1usBR3ntr8pXSyt6D2YYqXRyPcFW,cRjo6jqfVNP33HhSS76UhXETZsGTZYx8FMFvR9kpbtCSV1PmdZdu)))"</span>);
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="comment">// p2sh-p2wsh transaction should contain both witness and redeem scripts</span>
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">psbt</span>
+ <span class="macro">assert!</span>(<span class="ident">psbt</span>
.<span class="ident">outputs</span>
.<span class="ident">iter</span>()
.<span class="ident">any</span>(<span class="op">|</span><span class="ident">output</span><span class="op">|</span> <span class="ident">output</span>.<span class="ident">redeem_script</span>.<span class="ident">is_some</span>() <span class="op">&&</span> <span class="ident">output</span>.<span class="ident">witness_script</span>.<span class="ident">is_some</span>()));
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_signing_only_one_of_multiple_inputs</span>() {
<span class="kw">let</span> (<span class="ident">wallet</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">get_funded_wallet</span>(<span class="ident">get_test_wpkh</span>());
- <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address</span>::<span class="ident">from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">addr</span> <span class="op">=</span> <span class="ident">Address::from_str</span>(<span class="string">"2N1Ffz3WaNzbeLFBb51xyFMHYSEUXcbiSoX"</span>).<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">build_tx</span>();
<span class="ident">builder</span>
.<span class="ident">add_recipient</span>(<span class="ident">addr</span>.<span class="ident">script_pubkey</span>(), <span class="number">45_000</span>)
<span class="kw">let</span> (<span class="kw-2">mut</span> <span class="ident">psbt</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">finish</span>().<span class="ident">unwrap</span>();
<span class="comment">// add another input to the psbt that is at least passable.</span>
- <span class="kw">let</span> <span class="ident">dud_input</span> <span class="op">=</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">Input</span> {
+ <span class="kw">let</span> <span class="ident">dud_input</span> <span class="op">=</span> <span class="ident">bitcoin::util::psbt::Input</span> {
<span class="ident">witness_utxo</span>: <span class="prelude-val">Some</span>(<span class="ident">TxOut</span> {
<span class="ident">value</span>: <span class="number">100_000</span>,
- <span class="ident">script_pubkey</span>: <span class="ident">miniscript</span>::<span class="ident">Descriptor</span>::<span class="op"><</span><span class="ident">bitcoin</span>::<span class="ident">PublicKey</span><span class="op">></span>::<span class="ident">from_str</span>(
+ <span class="ident">script_pubkey</span>: <span class="ident">miniscript::Descriptor</span>::<span class="op"><</span><span class="ident">bitcoin::PublicKey</span><span class="op">></span><span class="ident">::from_str</span>(
<span class="string">"wpkh(025476c2e83188368da1ff3e292e7acafcdb3566bb0ad253f62fc70f07aeee6357)"</span>,
)
.<span class="ident">unwrap</span>()
.<span class="ident">script_pubkey</span>(),
}),
- ..<span class="ident">Default</span>::<span class="ident">default</span>()
+ ..<span class="ident">Default::default</span>()
};
<span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">push</span>(<span class="ident">dud_input</span>);
- <span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>.<span class="ident">push</span>(<span class="ident">bitcoin</span>::<span class="ident">TxIn</span>::<span class="ident">default</span>());
+ <span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>.<span class="ident">push</span>(<span class="ident">bitcoin::TxIn::default</span>());
<span class="kw">let</span> (<span class="ident">psbt</span>, <span class="ident">is_final</span>) <span class="op">=</span> <span class="ident">wallet</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">None</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="op">!</span><span class="ident">is_final</span>,
<span class="string">"shouldn't be final since we can't sign one of the inputs"</span>
);
- <span class="macro">assert</span><span class="macro">!</span>(
+ <span class="macro">assert!</span>(
<span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="number">0</span>].<span class="ident">final_script_witness</span>.<span class="ident">is_some</span>(),
<span class="string">"should finalized input it signed"</span>
)
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_unused_address</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
- <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
+ <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">LastUnused</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">LastUnused</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_next_unused_address</span>() {
<span class="kw">let</span> <span class="ident">descriptor</span> <span class="op">=</span> <span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>;
- <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils</span><span class="macro">!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>));
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(
+ <span class="kw">let</span> <span class="ident">descriptors</span> <span class="op">=</span> <span class="macro">testutils!</span>(@<span class="ident">descriptors</span> (<span class="ident">descriptor</span>));
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(
<span class="kw-2">&</span><span class="ident">descriptors</span>.<span class="number">0</span>,
<span class="prelude-val">None</span>,
- <span class="ident">Network</span>::<span class="ident">Testnet</span>,
- <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>(),
+ <span class="ident">Network::Testnet</span>,
+ <span class="ident">MemoryDatabase::new</span>(),
)
.<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">LastUnused</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
<span class="comment">// use the above address</span>
- <span class="kw">crate</span>::<span class="macro">populate_test_db</span><span class="macro">!</span>(
+ <span class="kw">crate</span><span class="macro">::populate_test_db!</span>(
<span class="ident">wallet</span>.<span class="ident">database</span>.<span class="ident">borrow_mut</span>(),
- <span class="macro">testutils</span><span class="macro">!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
+ <span class="macro">testutils!</span> (@<span class="ident">tx</span> ( (@<span class="ident">external</span> <span class="ident">descriptors</span>, <span class="number">0</span>) <span class="op">=</span><span class="op">></span> <span class="number">25_000</span> ) (@<span class="ident">confirmations</span> <span class="number">1</span>)),
<span class="prelude-val">Some</span>(<span class="number">100</span>),
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">LastUnused</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_peek_address_at_index</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
- <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
+ <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">1</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">0</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">2</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1qzntf2mqex4ehwkjlfdyy3ewdlk08qkvkvrz7x2"</span>
);
<span class="comment">// current new address is not affected</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_peek_address_at_index_not_derivable</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/1)"</span>,
- <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/1)"</span>,
+ <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">1</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">0</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Peek</span>(<span class="number">2</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_reset_address_index</span>() {
- <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet</span>::<span class="ident">new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
- <span class="prelude-val">None</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">db</span> <span class="op">=</span> <span class="ident">MemoryDatabase::new</span>();
+ <span class="kw">let</span> <span class="ident">wallet</span> <span class="op">=</span> <span class="ident">Wallet::new_offline</span>(<span class="string">"wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/*)"</span>,
+ <span class="prelude-val">None</span>, <span class="ident">Network::Testnet</span>, <span class="ident">db</span>).<span class="ident">unwrap</span>();
<span class="comment">// new index 0</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q6yn66vajcctph75pvylgkksgpp6nq04ppwct9a"</span>
);
<span class="comment">// new index 1</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
<span class="comment">// new index 2</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1qzntf2mqex4ehwkjlfdyy3ewdlk08qkvkvrz7x2"</span>
);
<span class="comment">// reset index 1 again</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">Reset</span>(<span class="number">1</span>)).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1q4er7kxx6sssz3q7qp7zsqsdx4erceahhax77d7"</span>
);
<span class="comment">// new index 2 again</span>
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">wallet</span>.<span class="ident">get_address</span>(<span class="ident">New</span>).<span class="ident">unwrap</span>().<span class="ident">to_string</span>(),
<span class="string">"tb1qzntf2mqex4ehwkjlfdyy3ewdlk08qkvkvrz7x2"</span>
);
<!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="Source of the Rust file `src/wallet/signer.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>signer.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<_, bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cmp</span>::<span class="ident">Ordering</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fmt</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::<span class="ident">Bound</span>::<span class="ident">Included</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
-
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">blockdata</span>::<span class="ident">opcodes</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">blockdata</span>::<span class="ident">script</span>::<span class="ident">Builder</span> <span class="kw">as</span> <span class="ident">ScriptBuilder</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::{<span class="ident">hash160</span>, <span class="ident">Hash</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::{<span class="ident">Message</span>, <span class="ident">Secp256k1</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>::{<span class="ident">ChildNumber</span>, <span class="ident">DerivationPath</span>, <span class="ident">ExtendedPrivKey</span>, <span class="ident">Fingerprint</span>};
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::{<span class="ident">bip143</span>, <span class="ident">psbt</span>};
+<span class="kw">use</span> <span class="ident">std::cmp::Ordering</span>;
+<span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
+<span class="kw">use</span> <span class="ident">std::fmt</span>;
+<span class="kw">use</span> <span class="ident">std::ops::Bound::Included</span>;
+<span class="kw">use</span> <span class="ident">std::sync::Arc</span>;
+
+<span class="kw">use</span> <span class="ident">bitcoin::blockdata::opcodes</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::blockdata::script::Builder</span> <span class="kw">as</span> <span class="ident">ScriptBuilder</span>;
+<span class="kw">use</span> <span class="ident">bitcoin::hashes</span>::{<span class="ident">hash160</span>, <span class="ident">Hash</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::secp256k1</span>::{<span class="ident">Message</span>, <span class="ident">Secp256k1</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>::{<span class="ident">ChildNumber</span>, <span class="ident">DerivationPath</span>, <span class="ident">ExtendedPrivKey</span>, <span class="ident">Fingerprint</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::util</span>::{<span class="ident">bip143</span>, <span class="ident">psbt</span>};
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">PrivateKey</span>, <span class="ident">Script</span>, <span class="ident">SigHash</span>, <span class="ident">SigHashType</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::{<span class="ident">DescriptorSecretKey</span>, <span class="ident">DescriptorSinglePriv</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">KeyMap</span>};
+<span class="kw">use</span> <span class="ident">miniscript::descriptor</span>::{<span class="ident">DescriptorSecretKey</span>, <span class="ident">DescriptorSinglePriv</span>, <span class="ident">DescriptorXKey</span>, <span class="ident">KeyMap</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">Legacy</span>, <span class="ident">MiniscriptKey</span>, <span class="ident">Segwitv0</span>};
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">utils</span>::<span class="ident">SecpCtx</span>;
-<span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">XKeyUtils</span>;
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::utils::SecpCtx</span>;
+<span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::XKeyUtils</span>;
<span class="doccomment">/// Identifier of a signer in the `SignersContainers`. Used as a key to find the right signer among</span>
<span class="doccomment">/// multiple of them</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">Ord</span>, <span class="ident">PartialOrd</span>, <span class="ident">PartialEq</span>, <span class="ident">Eq</span>, <span class="ident">Hash</span>)]</span>
<span class="kw">pub</span> <span class="kw">enum</span> <span class="ident">SignerId</span> {
<span class="doccomment">/// Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA public key</span>
- <span class="ident">PkHash</span>(<span class="ident">hash160</span>::<span class="ident">Hash</span>),
+ <span class="ident">PkHash</span>(<span class="ident">hash160::Hash</span>),
<span class="doccomment">/// The fingerprint of a BIP32 extended key</span>
<span class="ident">Fingerprint</span>(<span class="ident">Fingerprint</span>),
<span class="doccomment">/// Dummy identifier</span>
<span class="ident">Dummy</span>(<span class="ident">u64</span>),
}
-<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">hash160</span>::<span class="ident">Hash</span><span class="op">></span> <span class="kw">for</span> <span class="ident">SignerId</span> {
- <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">hash</span>: <span class="ident">hash160</span>::<span class="ident">Hash</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
- <span class="ident">SignerId</span>::<span class="ident">PkHash</span>(<span class="ident">hash</span>)
+<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">hash160::Hash</span><span class="op">></span> <span class="kw">for</span> <span class="ident">SignerId</span> {
+ <span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">hash</span>: <span class="ident">hash160::Hash</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
+ <span class="ident">SignerId::PkHash</span>(<span class="ident">hash</span>)
}
}
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">Fingerprint</span><span class="op">></span> <span class="kw">for</span> <span class="ident">SignerId</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">fing</span>: <span class="ident">Fingerprint</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
- <span class="ident">SignerId</span>::<span class="ident">Fingerprint</span>(<span class="ident">fing</span>)
+ <span class="ident">SignerId::Fingerprint</span>(<span class="ident">fing</span>)
}
}
<span class="ident">MissingHdKeypath</span>,
}
-<span class="kw">impl</span> <span class="ident">fmt</span>::<span class="ident">Display</span> <span class="kw">for</span> <span class="ident">SignerError</span> {
- <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
- <span class="macro">write</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
+<span class="kw">impl</span> <span class="ident">fmt::Display</span> <span class="kw">for</span> <span class="ident">SignerError</span> {
+ <span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt::Formatter</span><span class="op"><</span><span class="lifetime">'_</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">fmt::Result</span> {
+ <span class="macro">write!</span>(<span class="ident">f</span>, <span class="string">"{:?}"</span>, <span class="self">self</span>)
}
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span> <span class="kw">for</span> <span class="ident">SignerError</span> {}
+<span class="kw">impl</span> <span class="ident">std::error::Error</span> <span class="kw">for</span> <span class="ident">SignerError</span> {}
<span class="doccomment">/// Trait for signers</span>
<span class="doccomment">///</span>
<span class="doccomment">/// This trait can be implemented to provide customized signers to the wallet. For an example see</span>
<span class="doccomment">/// [`this module`](crate::wallet::signer)'s documentation.</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">Signer</span>: <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="op">+</span> <span class="ident">Send</span> <span class="op">+</span> <span class="ident">Sync</span> {
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">Signer</span>: <span class="ident">fmt::Debug</span> <span class="op">+</span> <span class="ident">Send</span> <span class="op">+</span> <span class="ident">Sync</span> {
<span class="doccomment">/// Sign a PSBT</span>
<span class="doccomment">///</span>
<span class="doccomment">/// The `input_index` argument is only provided if the wallet doesn't declare to sign the whole</span>
<span class="doccomment">/// can be ignored.</span>
<span class="kw">fn</span> <span class="ident">sign</span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">SignerError</span><span class="op">></span>;
<span class="kw">impl</span> <span class="ident">Signer</span> <span class="kw">for</span> <span class="ident">DescriptorXKey</span><span class="op"><</span><span class="ident">ExtendedPrivKey</span><span class="op">></span> {
<span class="kw">fn</span> <span class="ident">sign</span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">SignerError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">input_index</span> <span class="op">=</span> <span class="ident">input_index</span>.<span class="ident">unwrap</span>();
<span class="kw">if</span> <span class="ident">input_index</span> <span class="op">></span><span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">InputIndexOutOfRange</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError::InputIndexOutOfRange</span>);
}
<span class="kw">let</span> (<span class="ident">public_key</span>, <span class="ident">full_path</span>) <span class="op">=</span> <span class="kw">match</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="ident">input_index</span>]
<span class="kw">let</span> <span class="ident">derived_key</span> <span class="op">=</span> <span class="kw">match</span> <span class="self">self</span>.<span class="ident">origin</span>.<span class="ident">clone</span>() {
<span class="prelude-val">Some</span>((<span class="ident">_fingerprint</span>, <span class="ident">origin_path</span>)) <span class="op">=</span><span class="op">></span> {
- <span class="kw">let</span> <span class="ident">deriv_path</span> <span class="op">=</span> <span class="ident">DerivationPath</span>::<span class="ident">from</span>(
+ <span class="kw">let</span> <span class="ident">deriv_path</span> <span class="op">=</span> <span class="ident">DerivationPath::from</span>(
<span class="kw-2">&</span><span class="ident">full_path</span>.<span class="ident">into_iter</span>().<span class="ident">cloned</span>().<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="ident">ChildNumber</span><span class="op">></span><span class="op">></span>()
[<span class="ident">origin_path</span>.<span class="ident">len</span>()..],
);
};
<span class="kw">if</span> <span class="kw-2">&</span><span class="ident">derived_key</span>.<span class="ident">private_key</span>.<span class="ident">public_key</span>(<span class="kw-2">&</span><span class="ident">secp</span>) <span class="op">!</span><span class="op">=</span> <span class="ident">public_key</span> {
- <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">InvalidKey</span>)
+ <span class="prelude-val">Err</span>(<span class="ident">SignerError::InvalidKey</span>)
} <span class="kw">else</span> {
<span class="ident">derived_key</span>.<span class="ident">private_key</span>.<span class="ident">sign</span>(<span class="ident">psbt</span>, <span class="prelude-val">Some</span>(<span class="ident">input_index</span>), <span class="ident">secp</span>)
}
}
<span class="kw">fn</span> <span class="ident">id</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
- <span class="ident">SignerId</span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>))
+ <span class="ident">SignerId::from</span>(<span class="self">self</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>))
}
<span class="kw">fn</span> <span class="ident">descriptor_secret_key</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DescriptorSecretKey</span><span class="op">></span> {
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorSecretKey</span>::<span class="ident">XPrv</span>(<span class="self">self</span>.<span class="ident">clone</span>()))
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorSecretKey::XPrv</span>(<span class="self">self</span>.<span class="ident">clone</span>()))
}
}
<span class="kw">impl</span> <span class="ident">Signer</span> <span class="kw">for</span> <span class="ident">PrivateKey</span> {
<span class="kw">fn</span> <span class="ident">sign</span>(
<span class="kw-2">&</span><span class="self">self</span>,
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">usize</span><span class="op">></span>,
<span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">SignerError</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">input_index</span> <span class="op">=</span> <span class="ident">input_index</span>.<span class="ident">unwrap</span>();
<span class="kw">if</span> <span class="ident">input_index</span> <span class="op">></span><span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">InputIndexOutOfRange</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError::InputIndexOutOfRange</span>);
}
<span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">public_key</span>(<span class="kw-2">&</span><span class="ident">secp</span>);
<span class="comment">// these? The original idea was to declare sign() as sign<Ctx: ScriptContex>() and use Ctx,</span>
<span class="comment">// but that violates the rules for trait-objects, so we can't do it.</span>
<span class="kw">let</span> (<span class="ident">hash</span>, <span class="ident">sighash</span>) <span class="op">=</span> <span class="kw">match</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="ident">input_index</span>].<span class="ident">witness_utxo</span> {
- <span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Segwitv0</span>::<span class="ident">sighash</span>(<span class="ident">psbt</span>, <span class="ident">input_index</span>)<span class="question-mark">?</span>,
- <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">Legacy</span>::<span class="ident">sighash</span>(<span class="ident">psbt</span>, <span class="ident">input_index</span>)<span class="question-mark">?</span>,
+ <span class="prelude-val">Some</span>(<span class="kw">_</span>) <span class="op">=</span><span class="op">></span> <span class="ident">Segwitv0::sighash</span>(<span class="ident">psbt</span>, <span class="ident">input_index</span>)<span class="question-mark">?</span>,
+ <span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> <span class="ident">Legacy::sighash</span>(<span class="ident">psbt</span>, <span class="ident">input_index</span>)<span class="question-mark">?</span>,
};
<span class="kw">let</span> <span class="ident">signature</span> <span class="op">=</span> <span class="ident">secp</span>.<span class="ident">sign</span>(
- <span class="kw-2">&</span><span class="ident">Message</span>::<span class="ident">from_slice</span>(<span class="kw-2">&</span><span class="ident">hash</span>.<span class="ident">into_inner</span>()[..]).<span class="ident">unwrap</span>(),
+ <span class="kw-2">&</span><span class="ident">Message::from_slice</span>(<span class="kw-2">&</span><span class="ident">hash</span>.<span class="ident">into_inner</span>()[..]).<span class="ident">unwrap</span>(),
<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">key</span>,
);
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">final_signature</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">with_capacity</span>(<span class="number">75</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">final_signature</span> <span class="op">=</span> <span class="ident">Vec::with_capacity</span>(<span class="number">75</span>);
<span class="ident">final_signature</span>.<span class="ident">extend_from_slice</span>(<span class="kw-2">&</span><span class="ident">signature</span>.<span class="ident">serialize_der</span>());
<span class="ident">final_signature</span>.<span class="ident">push</span>(<span class="ident">sighash</span>.<span class="ident">as_u32</span>() <span class="kw">as</span> <span class="ident">u8</span>);
}
<span class="kw">fn</span> <span class="ident">id</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
- <span class="ident">SignerId</span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">public_key</span>(<span class="ident">secp</span>).<span class="ident">to_pubkeyhash</span>())
+ <span class="ident">SignerId::from</span>(<span class="self">self</span>.<span class="ident">public_key</span>(<span class="ident">secp</span>).<span class="ident">to_pubkeyhash</span>())
}
<span class="kw">fn</span> <span class="ident">descriptor_secret_key</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">DescriptorSecretKey</span><span class="op">></span> {
- <span class="prelude-val">Some</span>(<span class="ident">DescriptorSecretKey</span>::<span class="ident">SinglePriv</span>(<span class="ident">DescriptorSinglePriv</span> {
+ <span class="prelude-val">Some</span>(<span class="ident">DescriptorSecretKey::SinglePriv</span>(<span class="ident">DescriptorSinglePriv</span> {
<span class="ident">key</span>: <span class="kw-2">*</span><span class="self">self</span>,
<span class="ident">origin</span>: <span class="prelude-val">None</span>,
}))
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">PartialOrd</span>, <span class="ident">PartialEq</span>, <span class="ident">Ord</span>, <span class="ident">Eq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">SignerOrdering</span>(<span class="kw">pub</span> <span class="ident">usize</span>);
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">default</span>::<span class="ident">Default</span> <span class="kw">for</span> <span class="ident">SignerOrdering</span> {
+<span class="kw">impl</span> <span class="ident">std::default::Default</span> <span class="kw">for</span> <span class="ident">SignerOrdering</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
<span class="ident">SignerOrdering</span>(<span class="number">100</span>)
}
<span class="kw">impl</span> <span class="ident">From</span><span class="op"><</span><span class="ident">KeyMap</span><span class="op">></span> <span class="kw">for</span> <span class="ident">SignersContainer</span> {
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">keymap</span>: <span class="ident">KeyMap</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignersContainer</span> {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">container</span> <span class="op">=</span> <span class="ident">SignersContainer</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">container</span> <span class="op">=</span> <span class="ident">SignersContainer::new</span>();
<span class="kw">for</span> (<span class="kw">_</span>, <span class="ident">secret</span>) <span class="kw">in</span> <span class="ident">keymap</span> {
<span class="kw">match</span> <span class="ident">secret</span> {
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">SinglePriv</span>(<span class="ident">private_key</span>) <span class="op">=</span><span class="op">></span> <span class="ident">container</span>.<span class="ident">add_external</span>(
- <span class="ident">SignerId</span>::<span class="ident">from</span>(<span class="ident">private_key</span>.<span class="ident">key</span>.<span class="ident">public_key</span>(<span class="kw-2">&</span><span class="ident">secp</span>).<span class="ident">to_pubkeyhash</span>()),
- <span class="ident">SignerOrdering</span>::<span class="ident">default</span>(),
- <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">private_key</span>.<span class="ident">key</span>),
+ <span class="ident">DescriptorSecretKey::SinglePriv</span>(<span class="ident">private_key</span>) <span class="op">=</span><span class="op">></span> <span class="ident">container</span>.<span class="ident">add_external</span>(
+ <span class="ident">SignerId::from</span>(<span class="ident">private_key</span>.<span class="ident">key</span>.<span class="ident">public_key</span>(<span class="kw-2">&</span><span class="ident">secp</span>).<span class="ident">to_pubkeyhash</span>()),
+ <span class="ident">SignerOrdering::default</span>(),
+ <span class="ident">Arc::new</span>(<span class="ident">private_key</span>.<span class="ident">key</span>),
),
- <span class="ident">DescriptorSecretKey</span>::<span class="ident">XPrv</span>(<span class="ident">xprv</span>) <span class="op">=</span><span class="op">></span> <span class="ident">container</span>.<span class="ident">add_external</span>(
- <span class="ident">SignerId</span>::<span class="ident">from</span>(<span class="ident">xprv</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>)),
- <span class="ident">SignerOrdering</span>::<span class="ident">default</span>(),
- <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">xprv</span>),
+ <span class="ident">DescriptorSecretKey::XPrv</span>(<span class="ident">xprv</span>) <span class="op">=</span><span class="op">></span> <span class="ident">container</span>.<span class="ident">add_external</span>(
+ <span class="ident">SignerId::from</span>(<span class="ident">xprv</span>.<span class="ident">root_fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>)),
+ <span class="ident">SignerOrdering::default</span>(),
+ <span class="ident">Arc::new</span>(<span class="ident">xprv</span>),
),
};
}
<span class="kw">impl</span> <span class="ident">SignersContainer</span> {
<span class="doccomment">/// Default constructor</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">SignersContainer</span>(<span class="ident">Default</span>::<span class="ident">default</span>())
+ <span class="ident">SignersContainer</span>(<span class="ident">Default::default</span>())
}
<span class="doccomment">/// Adds an external signer to the container for the specified id. Optionally returns the</span>
<span class="self">self</span>.<span class="number">0</span>
.<span class="ident">range</span>((
<span class="ident">Included</span>(<span class="kw-2">&</span>(<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="number">0</span>)).<span class="ident">into</span>()),
- <span class="ident">Included</span>(<span class="kw-2">&</span>(<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="ident">usize</span>::<span class="ident">MAX</span>)).<span class="ident">into</span>()),
+ <span class="ident">Included</span>(<span class="kw-2">&</span>(<span class="ident">id</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="ident">usize::MAX</span>)).<span class="ident">into</span>()),
))
.<span class="ident">filter</span>(<span class="op">|</span>(<span class="ident">k</span>, <span class="kw">_</span>)<span class="op">|</span> <span class="ident">k</span>.<span class="ident">id</span> <span class="op">=</span><span class="op">=</span> <span class="ident">id</span>)
.<span class="ident">map</span>(<span class="op">|</span>(<span class="kw">_</span>, <span class="ident">v</span>)<span class="op">|</span> <span class="ident">v</span>)
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">trait</span> <span class="ident">ComputeSighash</span> {
<span class="kw">fn</span> <span class="ident">sighash</span>(
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="ident">usize</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">SigHash</span>, <span class="ident">SigHashType</span>), <span class="ident">SignerError</span><span class="op">></span>;
}
<span class="kw">impl</span> <span class="ident">ComputeSighash</span> <span class="kw">for</span> <span class="ident">Legacy</span> {
<span class="kw">fn</span> <span class="ident">sighash</span>(
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="ident">usize</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">SigHash</span>, <span class="ident">SigHashType</span>), <span class="ident">SignerError</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">input_index</span> <span class="op">></span><span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">InputIndexOutOfRange</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError::InputIndexOutOfRange</span>);
}
<span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="ident">input_index</span>];
<span class="kw">let</span> <span class="ident">tx_input</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>.<span class="ident">input</span>[<span class="ident">input_index</span>];
- <span class="kw">let</span> <span class="ident">sighash</span> <span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">sighash_type</span>.<span class="ident">unwrap_or</span>(<span class="ident">SigHashType</span>::<span class="ident">All</span>);
+ <span class="kw">let</span> <span class="ident">sighash</span> <span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">sighash_type</span>.<span class="ident">unwrap_or</span>(<span class="ident">SigHashType::All</span>);
<span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">psbt_input</span>.<span class="ident">redeem_script</span> {
<span class="prelude-val">Some</span>(<span class="kw-2">ref</span> <span class="ident">redeem_script</span>) <span class="op">=</span><span class="op">></span> <span class="ident">redeem_script</span>.<span class="ident">clone</span>(),
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">non_witness_utxo</span> <span class="op">=</span> <span class="ident">psbt_input</span>
.<span class="ident">non_witness_utxo</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">ok_or</span>(<span class="ident">SignerError</span>::<span class="ident">MissingNonWitnessUtxo</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">SignerError::MissingNonWitnessUtxo</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">prev_out</span> <span class="op">=</span> <span class="ident">non_witness_utxo</span>
.<span class="ident">output</span>
.<span class="ident">get</span>(<span class="ident">tx_input</span>.<span class="ident">previous_output</span>.<span class="ident">vout</span> <span class="kw">as</span> <span class="ident">usize</span>)
- .<span class="ident">ok_or</span>(<span class="ident">SignerError</span>::<span class="ident">InvalidNonWitnessUtxo</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">SignerError::InvalidNonWitnessUtxo</span>)<span class="question-mark">?</span>;
<span class="ident">prev_out</span>.<span class="ident">script_pubkey</span>.<span class="ident">clone</span>()
}
}
<span class="kw">fn</span> <span class="ident">p2wpkh_script_code</span>(<span class="ident">script</span>: <span class="kw-2">&</span><span class="ident">Script</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Script</span> {
- <span class="ident">ScriptBuilder</span>::<span class="ident">new</span>()
- .<span class="ident">push_opcode</span>(<span class="ident">opcodes</span>::<span class="ident">all</span>::<span class="ident">OP_DUP</span>)
- .<span class="ident">push_opcode</span>(<span class="ident">opcodes</span>::<span class="ident">all</span>::<span class="ident">OP_HASH160</span>)
+ <span class="ident">ScriptBuilder::new</span>()
+ .<span class="ident">push_opcode</span>(<span class="ident">opcodes::all::OP_DUP</span>)
+ .<span class="ident">push_opcode</span>(<span class="ident">opcodes::all::OP_HASH160</span>)
.<span class="ident">push_slice</span>(<span class="kw-2">&</span><span class="ident">script</span>[<span class="number">2</span>..])
- .<span class="ident">push_opcode</span>(<span class="ident">opcodes</span>::<span class="ident">all</span>::<span class="ident">OP_EQUALVERIFY</span>)
- .<span class="ident">push_opcode</span>(<span class="ident">opcodes</span>::<span class="ident">all</span>::<span class="ident">OP_CHECKSIG</span>)
+ .<span class="ident">push_opcode</span>(<span class="ident">opcodes::all::OP_EQUALVERIFY</span>)
+ .<span class="ident">push_opcode</span>(<span class="ident">opcodes::all::OP_CHECKSIG</span>)
.<span class="ident">into_script</span>()
}
<span class="kw">impl</span> <span class="ident">ComputeSighash</span> <span class="kw">for</span> <span class="ident">Segwitv0</span> {
<span class="kw">fn</span> <span class="ident">sighash</span>(
- <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>,
+ <span class="ident">psbt</span>: <span class="kw-2">&</span><span class="ident">psbt::PartiallySignedTransaction</span>,
<span class="ident">input_index</span>: <span class="ident">usize</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(<span class="ident">SigHash</span>, <span class="ident">SigHashType</span>), <span class="ident">SignerError</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">input_index</span> <span class="op">></span><span class="op">=</span> <span class="ident">psbt</span>.<span class="ident">inputs</span>.<span class="ident">len</span>() {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">InputIndexOutOfRange</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError::InputIndexOutOfRange</span>);
}
<span class="kw">let</span> <span class="ident">psbt_input</span> <span class="op">=</span> <span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">inputs</span>[<span class="ident">input_index</span>];
- <span class="kw">let</span> <span class="ident">sighash</span> <span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">sighash_type</span>.<span class="ident">unwrap_or</span>(<span class="ident">SigHashType</span>::<span class="ident">All</span>);
+ <span class="kw">let</span> <span class="ident">sighash</span> <span class="op">=</span> <span class="ident">psbt_input</span>.<span class="ident">sighash_type</span>.<span class="ident">unwrap_or</span>(<span class="ident">SigHashType::All</span>);
<span class="kw">let</span> <span class="ident">witness_utxo</span> <span class="op">=</span> <span class="ident">psbt_input</span>
.<span class="ident">witness_utxo</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">ok_or</span>(<span class="ident">SignerError</span>::<span class="ident">MissingNonWitnessUtxo</span>)<span class="question-mark">?</span>;
+ .<span class="ident">ok_or</span>(<span class="ident">SignerError::MissingNonWitnessUtxo</span>)<span class="question-mark">?</span>;
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="ident">witness_utxo</span>.<span class="ident">value</span>;
<span class="kw">let</span> <span class="ident">script</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">psbt_input</span>.<span class="ident">witness_script</span> {
} <span class="kw">else</span> <span class="kw">if</span> <span class="ident">psbt_input</span>
.<span class="ident">redeem_script</span>
.<span class="ident">as_ref</span>()
- .<span class="ident">map</span>(<span class="ident">Script</span>::<span class="ident">is_v0_p2wpkh</span>)
+ .<span class="ident">map</span>(<span class="ident">Script::is_v0_p2wpkh</span>)
.<span class="ident">unwrap_or</span>(<span class="bool-val">false</span>)
{
<span class="ident">p2wpkh_script_code</span>(<span class="kw-2">&</span><span class="ident">psbt_input</span>.<span class="ident">redeem_script</span>.<span class="ident">as_ref</span>().<span class="ident">unwrap</span>())
} <span class="kw">else</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError</span>::<span class="ident">MissingWitnessScript</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">SignerError::MissingWitnessScript</span>);
}
}
};
<span class="prelude-val">Ok</span>((
- <span class="ident">bip143</span>::<span class="ident">SigHashCache</span>::<span class="ident">new</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>).<span class="ident">signature_hash</span>(
+ <span class="ident">bip143::SigHashCache::new</span>(<span class="kw-2">&</span><span class="ident">psbt</span>.<span class="ident">global</span>.<span class="ident">unsigned_tx</span>).<span class="ident">signature_hash</span>(
<span class="ident">input_index</span>,
<span class="kw-2">&</span><span class="ident">script</span>,
<span class="ident">value</span>,
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
<span class="kw">mod</span> <span class="ident">signers_container_tests</span> {
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">descriptor</span>::<span class="ident">IntoWalletDescriptor</span>;
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::{<span class="ident">All</span>, <span class="ident">Secp256k1</span>};
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">bip32</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::<span class="ident">PartiallySignedTransaction</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">Network</span>;
- <span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">ScriptContext</span>;
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::descriptor::IntoWalletDescriptor</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::keys</span>::{<span class="ident">DescriptorKey</span>, <span class="ident">IntoDescriptorKey</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::secp256k1</span>::{<span class="ident">All</span>, <span class="ident">Secp256k1</span>};
+ <span class="kw">use</span> <span class="ident">bitcoin::util::bip32</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::util::psbt::PartiallySignedTransaction</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::Network</span>;
+ <span class="kw">use</span> <span class="ident">miniscript::ScriptContext</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
<span class="kw">fn</span> <span class="ident">is_equal</span>(<span class="ident">this</span>: <span class="kw-2">&</span><span class="ident">Arc</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Signer</span><span class="op">></span>, <span class="ident">that</span>: <span class="kw-2">&</span><span class="ident">Arc</span><span class="op"><</span><span class="ident">DummySigner</span><span class="op">></span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="ident">this</span>.<span class="ident">id</span>(<span class="kw-2">&</span><span class="ident">secp</span>) <span class="op">=</span><span class="op">=</span> <span class="ident">that</span>.<span class="ident">id</span>(<span class="kw-2">&</span><span class="ident">secp</span>)
}
<span class="comment">// This happens usually when a set of signers is created from a descriptor with private keys.</span>
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">signers_with_same_ordering</span>() {
- <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">secp</span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
<span class="kw">let</span> (<span class="ident">prvkey1</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV0_STR</span>);
<span class="kw">let</span> (<span class="ident">prvkey2</span>, <span class="kw">_</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">setup_keys</span>(<span class="ident">TPRV1_STR</span>);
- <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor</span><span class="macro">!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey1</span>, <span class="ident">prvkey2</span>))).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">desc</span> <span class="op">=</span> <span class="macro">descriptor!</span>(<span class="ident">sh</span>(<span class="ident">multi</span>(<span class="number">2</span>, <span class="ident">prvkey1</span>, <span class="ident">prvkey2</span>))).<span class="ident">unwrap</span>();
<span class="kw">let</span> (<span class="kw">_</span>, <span class="ident">keymap</span>) <span class="op">=</span> <span class="ident">desc</span>
- .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network</span>::<span class="ident">Testnet</span>)
+ .<span class="ident">into_wallet_descriptor</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="ident">Network::Testnet</span>)
.<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer</span>::<span class="ident">from</span>(<span class="ident">keymap</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">ids</span>().<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer::from</span>(<span class="ident">keymap</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">signers</span>.<span class="ident">ids</span>().<span class="ident">len</span>(), <span class="number">2</span>);
<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">signers</span>.<span class="ident">signers</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">len</span>(), <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">signers</span>.<span class="ident">len</span>(), <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">signers_sorted_by_ordering</span>() {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">signer1</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">1</span> });
- <span class="kw">let</span> <span class="ident">signer2</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">2</span> });
- <span class="kw">let</span> <span class="ident">signer3</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> });
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer::new</span>();
+ <span class="kw">let</span> <span class="ident">signer1</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">1</span> });
+ <span class="kw">let</span> <span class="ident">signer2</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">2</span> });
+ <span class="kw">let</span> <span class="ident">signer3</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> });
<span class="comment">// Mixed order insertions verifies we are not inserting at head or tail.</span>
- <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">2</span>), <span class="ident">SignerOrdering</span>(<span class="number">2</span>), <span class="ident">signer2</span>.<span class="ident">clone</span>());
- <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">1</span>), <span class="ident">SignerOrdering</span>(<span class="number">1</span>), <span class="ident">signer1</span>.<span class="ident">clone</span>());
- <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">3</span>), <span class="ident">SignerOrdering</span>(<span class="number">3</span>), <span class="ident">signer3</span>.<span class="ident">clone</span>());
+ <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId::Dummy</span>(<span class="number">2</span>), <span class="ident">SignerOrdering</span>(<span class="number">2</span>), <span class="ident">signer2</span>.<span class="ident">clone</span>());
+ <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId::Dummy</span>(<span class="number">1</span>), <span class="ident">SignerOrdering</span>(<span class="number">1</span>), <span class="ident">signer1</span>.<span class="ident">clone</span>());
+ <span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">SignerId::Dummy</span>(<span class="number">3</span>), <span class="ident">SignerOrdering</span>(<span class="number">3</span>), <span class="ident">signer3</span>.<span class="ident">clone</span>());
<span class="comment">// Check that signers are sorted from lowest to highest ordering</span>
<span class="kw">let</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">signers</span>.<span class="ident">signers</span>();
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">0</span>], <span class="kw-2">&</span><span class="ident">signer1</span>));
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">1</span>], <span class="kw-2">&</span><span class="ident">signer2</span>));
- <span class="macro">assert</span><span class="macro">!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">2</span>], <span class="kw-2">&</span><span class="ident">signer3</span>));
+ <span class="macro">assert!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">0</span>], <span class="kw-2">&</span><span class="ident">signer1</span>));
+ <span class="macro">assert!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">1</span>], <span class="kw-2">&</span><span class="ident">signer2</span>));
+ <span class="macro">assert!</span>(<span class="ident">is_equal</span>(<span class="ident">signers</span>[<span class="number">2</span>], <span class="kw-2">&</span><span class="ident">signer3</span>));
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">find_signer_by_id</span>() {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">signer1</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">1</span> });
- <span class="kw">let</span> <span class="ident">signer2</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">2</span> });
- <span class="kw">let</span> <span class="ident">signer3</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> });
- <span class="kw">let</span> <span class="ident">signer4</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> }); <span class="comment">// Same ID as `signer3` but will use lower ordering.</span>
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">signers</span> <span class="op">=</span> <span class="ident">SignersContainer::new</span>();
+ <span class="kw">let</span> <span class="ident">signer1</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">1</span> });
+ <span class="kw">let</span> <span class="ident">signer2</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">2</span> });
+ <span class="kw">let</span> <span class="ident">signer3</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> });
+ <span class="kw">let</span> <span class="ident">signer4</span> <span class="op">=</span> <span class="ident">Arc::new</span>(<span class="ident">DummySigner</span> { <span class="ident">number</span>: <span class="number">3</span> }); <span class="comment">// Same ID as `signer3` but will use lower ordering.</span>
- <span class="kw">let</span> <span class="ident">id1</span> <span class="op">=</span> <span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">1</span>);
- <span class="kw">let</span> <span class="ident">id2</span> <span class="op">=</span> <span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">2</span>);
- <span class="kw">let</span> <span class="ident">id3</span> <span class="op">=</span> <span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">3</span>);
- <span class="kw">let</span> <span class="ident">id_nonexistent</span> <span class="op">=</span> <span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="number">999</span>);
+ <span class="kw">let</span> <span class="ident">id1</span> <span class="op">=</span> <span class="ident">SignerId::Dummy</span>(<span class="number">1</span>);
+ <span class="kw">let</span> <span class="ident">id2</span> <span class="op">=</span> <span class="ident">SignerId::Dummy</span>(<span class="number">2</span>);
+ <span class="kw">let</span> <span class="ident">id3</span> <span class="op">=</span> <span class="ident">SignerId::Dummy</span>(<span class="number">3</span>);
+ <span class="kw">let</span> <span class="ident">id_nonexistent</span> <span class="op">=</span> <span class="ident">SignerId::Dummy</span>(<span class="number">999</span>);
<span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">id1</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="number">1</span>), <span class="ident">signer1</span>.<span class="ident">clone</span>());
<span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">id2</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="number">2</span>), <span class="ident">signer2</span>.<span class="ident">clone</span>());
<span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">id3</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="number">3</span>), <span class="ident">signer3</span>.<span class="ident">clone</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id1</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer1</span>)));
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id2</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer2</span>)));
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id3</span>.<span class="ident">clone</span>()), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer3</span>)));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id1</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer1</span>)));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id2</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer2</span>)));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id3</span>.<span class="ident">clone</span>()), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer3</span>)));
<span class="comment">// The `signer4` has the same ID as `signer3` but lower ordering.</span>
<span class="comment">// It should be found by `id3` instead of `signer3`.</span>
<span class="ident">signers</span>.<span class="ident">add_external</span>(<span class="ident">id3</span>.<span class="ident">clone</span>(), <span class="ident">SignerOrdering</span>(<span class="number">2</span>), <span class="ident">signer4</span>.<span class="ident">clone</span>());
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id3</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer4</span>)));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id3</span>), <span class="prelude-val">Some</span>(<span class="ident">signer</span>) <span class="kw">if</span> <span class="ident">is_equal</span>(<span class="ident">signer</span>, <span class="kw-2">&</span><span class="ident">signer4</span>)));
<span class="comment">// Can't find anything with ID that doesn't exist</span>
- <span class="macro">assert</span><span class="macro">!</span>(<span class="macro">matches</span><span class="macro">!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id_nonexistent</span>), <span class="prelude-val">None</span>));
+ <span class="macro">assert!</span>(<span class="macro">matches!</span>(<span class="ident">signers</span>.<span class="ident">find</span>(<span class="ident">id_nonexistent</span>), <span class="prelude-val">None</span>));
}
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Debug</span>, <span class="ident">Clone</span>, <span class="ident">Copy</span>)]</span>
}
<span class="kw">fn</span> <span class="ident">id</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">_secp</span>: <span class="kw-2">&</span><span class="ident">SecpCtx</span>) <span class="op">-</span><span class="op">></span> <span class="ident">SignerId</span> {
- <span class="ident">SignerId</span>::<span class="ident">Dummy</span>(<span class="self">self</span>.<span class="ident">number</span>)
+ <span class="ident">SignerId::Dummy</span>(<span class="self">self</span>.<span class="ident">number</span>)
}
<span class="kw">fn</span> <span class="ident">sign_whole_tx</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
<span class="kw">fn</span> <span class="ident">setup_keys</span><span class="op"><</span><span class="ident">Ctx</span>: <span class="ident">ScriptContext</span><span class="op">></span>(
<span class="ident">tprv</span>: <span class="kw-2">&</span><span class="ident">str</span>,
) <span class="op">-</span><span class="op">></span> (<span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">DescriptorKey</span><span class="op"><</span><span class="ident">Ctx</span><span class="op">></span>, <span class="ident">Fingerprint</span>) {
- <span class="kw">let</span> <span class="ident">secp</span>: <span class="ident">Secp256k1</span><span class="op"><</span><span class="ident">All</span><span class="op">></span> <span class="op">=</span> <span class="ident">Secp256k1</span>::<span class="ident">new</span>();
- <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">DerivationPath</span>::<span class="ident">from_str</span>(<span class="ident">PATH</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">tprv</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPrivKey</span>::<span class="ident">from_str</span>(<span class="ident">tprv</span>).<span class="ident">unwrap</span>();
- <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32</span>::<span class="ident">ExtendedPubKey</span>::<span class="ident">from_private</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">tprv</span>);
+ <span class="kw">let</span> <span class="ident">secp</span>: <span class="ident">Secp256k1</span><span class="op"><</span><span class="ident">All</span><span class="op">></span> <span class="op">=</span> <span class="ident">Secp256k1::new</span>();
+ <span class="kw">let</span> <span class="ident">path</span> <span class="op">=</span> <span class="ident">bip32::DerivationPath::from_str</span>(<span class="ident">PATH</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">tprv</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPrivKey::from_str</span>(<span class="ident">tprv</span>).<span class="ident">unwrap</span>();
+ <span class="kw">let</span> <span class="ident">tpub</span> <span class="op">=</span> <span class="ident">bip32::ExtendedPubKey::from_private</span>(<span class="kw-2">&</span><span class="ident">secp</span>, <span class="kw-2">&</span><span class="ident">tprv</span>);
<span class="kw">let</span> <span class="ident">fingerprint</span> <span class="op">=</span> <span class="ident">tprv</span>.<span class="ident">fingerprint</span>(<span class="kw-2">&</span><span class="ident">secp</span>);
<span class="kw">let</span> <span class="ident">prvkey</span> <span class="op">=</span> (<span class="ident">tprv</span>, <span class="ident">path</span>.<span class="ident">clone</span>()).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<span class="kw">let</span> <span class="ident">pubkey</span> <span class="op">=</span> (<span class="ident">tpub</span>, <span class="ident">path</span>).<span class="ident">into_descriptor_key</span>().<span class="ident">unwrap</span>();
<!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="Source of the Rust file `src/wallet/time.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>time.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! It can be useful to compare it with the timestamps found in</span>
<span class="doccomment">//! [`TransactionDetails`](crate::types::TransactionDetails).</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::<span class="ident">Duration</span>;
+<span class="kw">use</span> <span class="ident">std::time::Duration</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>)]</span>
-<span class="kw">use</span> <span class="ident">js_sys</span>::<span class="ident">Date</span>;
+<span class="kw">use</span> <span class="ident">js_sys::Date</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>))]</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">time</span>::{<span class="ident">Instant</span> <span class="kw">as</span> <span class="ident">SystemInstant</span>, <span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
+<span class="kw">use</span> <span class="ident">std::time</span>::{<span class="ident">Instant</span> <span class="kw">as</span> <span class="ident">SystemInstant</span>, <span class="ident">SystemTime</span>, <span class="ident">UNIX_EPOCH</span>};
<span class="doccomment">/// Return the current timestamp in seconds</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>))]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_timestamp</span>() <span class="op">-</span><span class="op">></span> <span class="ident">u64</span> {
- <span class="ident">SystemTime</span>::<span class="ident">now</span>()
+ <span class="ident">SystemTime::now</span>()
.<span class="ident">duration_since</span>(<span class="ident">UNIX_EPOCH</span>)
.<span class="ident">unwrap</span>()
.<span class="ident">as_secs</span>()
<span class="doccomment">/// Return the current timestamp in seconds</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>)]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">get_timestamp</span>() <span class="op">-</span><span class="op">></span> <span class="ident">u64</span> {
- <span class="kw">let</span> <span class="ident">millis</span> <span class="op">=</span> <span class="ident">Date</span>::<span class="ident">now</span>();
+ <span class="kw">let</span> <span class="ident">millis</span> <span class="op">=</span> <span class="ident">Date::now</span>();
(<span class="ident">millis</span> <span class="op">/</span> <span class="number">1000.0</span>) <span class="kw">as</span> <span class="ident">u64</span>
}
<span class="kw">impl</span> <span class="ident">Instant</span> {
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>))]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">Instant</span>(<span class="ident">SystemInstant</span>::<span class="ident">now</span>())
+ <span class="ident">Instant</span>(<span class="ident">SystemInstant::now</span>())
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>)]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">new</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="kw">let</span> <span class="ident">millis</span> <span class="op">=</span> <span class="ident">Date</span>::<span class="ident">now</span>();
+ <span class="kw">let</span> <span class="ident">millis</span> <span class="op">=</span> <span class="ident">Date::now</span>();
<span class="kw">let</span> <span class="ident">secs</span> <span class="op">=</span> <span class="ident">millis</span> <span class="op">/</span> <span class="number">1000.0</span>;
<span class="kw">let</span> <span class="ident">nanos</span> <span class="op">=</span> (<span class="ident">millis</span> <span class="op">%</span> <span class="number">1000.0</span>) <span class="op">*</span> <span class="number">1e6</span>;
- <span class="ident">Instant</span>(<span class="ident">Duration</span>::<span class="ident">new</span>(<span class="ident">secs</span> <span class="kw">as</span> <span class="ident">u64</span>, <span class="ident">nanos</span> <span class="kw">as</span> <span class="ident">u32</span>))
+ <span class="ident">Instant</span>(<span class="ident">Duration::new</span>(<span class="ident">secs</span> <span class="kw">as</span> <span class="ident">u64</span>, <span class="ident">nanos</span> <span class="kw">as</span> <span class="ident">u32</span>))
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>))]</span>
}
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">target_arch</span> <span class="op">=</span> <span class="string">"wasm32"</span>)]</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">elapsed</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">Duration</span> {
- <span class="kw">let</span> <span class="ident">now</span> <span class="op">=</span> <span class="ident">Instant</span>::<span class="ident">new</span>();
+ <span class="kw">let</span> <span class="ident">now</span> <span class="op">=</span> <span class="ident">Instant::new</span>();
- <span class="ident">now</span>.<span class="number">0</span>.<span class="ident">checked_sub</span>(<span class="self">self</span>.<span class="number">0</span>).<span class="ident">unwrap_or</span>(<span class="ident">Duration</span>::<span class="ident">new</span>(<span class="number">0</span>, <span class="number">0</span>))
+ <span class="ident">now</span>.<span class="number">0</span>.<span class="ident">checked_sub</span>(<span class="self">self</span>.<span class="number">0</span>).<span class="ident">unwrap_or</span>(<span class="ident">Duration::new</span>(<span class="number">0</span>, <span class="number">0</span>))
}
}
</pre></div>
<!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="Source of the Rust file `src/wallet/tx_builder.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>tx_builder.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="doccomment">//! # Ok::<(), bdk::Error>(())</span>
<span class="doccomment">//! ```</span>
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">HashSet</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">default</span>::<span class="ident">Default</span>;
-<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
+<span class="kw">use</span> <span class="ident">std::collections::BTreeMap</span>;
+<span class="kw">use</span> <span class="ident">std::collections::HashSet</span>;
+<span class="kw">use</span> <span class="ident">std::default::Default</span>;
+<span class="kw">use</span> <span class="ident">std::marker::PhantomData</span>;
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">util</span>::<span class="ident">psbt</span>::{<span class="self">self</span>, <span class="ident">PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::util::psbt</span>::{<span class="self">self</span>, <span class="ident">PartiallySignedTransaction</span> <span class="kw">as</span> <span class="ident">PSBT</span>};
<span class="kw">use</span> <span class="ident">bitcoin</span>::{<span class="ident">OutPoint</span>, <span class="ident">Script</span>, <span class="ident">SigHashType</span>, <span class="ident">Transaction</span>};
-<span class="kw">use</span> <span class="ident">miniscript</span>::<span class="ident">descriptor</span>::<span class="ident">DescriptorTrait</span>;
+<span class="kw">use</span> <span class="ident">miniscript::descriptor::DescriptorTrait</span>;
-<span class="kw">use</span> <span class="kw">super</span>::<span class="ident">coin_selection</span>::{<span class="ident">CoinSelectionAlgorithm</span>, <span class="ident">DefaultCoinSelectionAlgorithm</span>};
-<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">database</span>::<span class="ident">BatchDatabase</span>, <span class="ident">Error</span>, <span class="ident">Utxo</span>, <span class="ident">Wallet</span>};
+<span class="kw">use</span> <span class="kw">super</span><span class="ident">::coin_selection</span>::{<span class="ident">CoinSelectionAlgorithm</span>, <span class="ident">DefaultCoinSelectionAlgorithm</span>};
+<span class="kw">use</span> <span class="kw">crate</span>::{<span class="ident">database::BatchDatabase</span>, <span class="ident">Error</span>, <span class="ident">Utxo</span>, <span class="ident">Wallet</span>};
<span class="kw">use</span> <span class="kw">crate</span>::{
<span class="ident">types</span>::{<span class="ident">FeeRate</span>, <span class="ident">KeychainKind</span>, <span class="ident">LocalUtxo</span>, <span class="ident">WeightedUtxo</span>},
<span class="ident">TransactionDetails</span>,
};
<span class="doccomment">/// Context in which the [`TxBuilder`] is valid</span>
-<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">TxBuilderContext</span>: <span class="ident">std</span>::<span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="op">+</span> <span class="ident">Default</span> <span class="op">+</span> <span class="ident">Clone</span> {}
+<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">TxBuilderContext</span>: <span class="ident">std::fmt::Debug</span> <span class="op">+</span> <span class="ident">Default</span> <span class="op">+</span> <span class="ident">Clone</span> {}
<span class="doccomment">/// Marker type to indicate the [`TxBuilder`] is being used to create a new transaction (as opposed</span>
<span class="doccomment">/// to bumping the fee of an existing one).</span>
<span class="ident">FeeAmount</span>(<span class="ident">u64</span>),
}
-<span class="kw">impl</span> <span class="ident">std</span>::<span class="ident">default</span>::<span class="ident">Default</span> <span class="kw">for</span> <span class="ident">FeePolicy</span> {
+<span class="kw">impl</span> <span class="ident">std::default::Default</span> <span class="kw">for</span> <span class="ident">FeePolicy</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">FeePolicy</span>::<span class="ident">FeeRate</span>(<span class="ident">FeeRate</span>::<span class="ident">default_min_relay_fee</span>())
+ <span class="ident">FeePolicy::FeeRate</span>(<span class="ident">FeeRate::default_min_relay_fee</span>())
}
}
{
<span class="doccomment">/// Set a custom fee rate</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">fee_rate</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">fee_rate</span>: <span class="ident">FeeRate</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">fee_policy</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">FeePolicy</span>::<span class="ident">FeeRate</span>(<span class="ident">fee_rate</span>));
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">fee_policy</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">FeePolicy::FeeRate</span>(<span class="ident">fee_rate</span>));
<span class="self">self</span>
}
<span class="doccomment">/// Set an absolute fee</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">fee_absolute</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">fee_amount</span>: <span class="ident">u64</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">fee_policy</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">FeePolicy</span>::<span class="ident">FeeAmount</span>(<span class="ident">fee_amount</span>));
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">fee_policy</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">FeePolicy::FeeAmount</span>(<span class="ident">fee_amount</span>));
<span class="self">self</span>
}
<span class="ident">keychain</span>: <span class="ident">KeychainKind</span>,
) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
<span class="kw">let</span> <span class="ident">to_update</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">keychain</span> {
- <span class="ident">KeychainKind</span>::<span class="ident">Internal</span> <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">internal_policy_path</span>,
- <span class="ident">KeychainKind</span>::<span class="ident">External</span> <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">external_policy_path</span>,
+ <span class="ident">KeychainKind::Internal</span> <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">internal_policy_path</span>,
+ <span class="ident">KeychainKind::External</span> <span class="op">=</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">external_policy_path</span>,
};
<span class="kw-2">*</span><span class="ident">to_update</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">policy_path</span>);
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">add_utxos</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">outpoints</span>: <span class="kw-2">&</span>[<span class="ident">OutPoint</span>]) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="ident">utxos</span> <span class="op">=</span> <span class="ident">outpoints</span>
.<span class="ident">iter</span>()
- .<span class="ident">map</span>(<span class="op">|</span><span class="ident">outpoint</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">wallet</span>.<span class="ident">get_utxo</span>(<span class="kw-2">*</span><span class="ident">outpoint</span>)<span class="question-mark">?</span>.<span class="ident">ok_or</span>(<span class="ident">Error</span>::<span class="ident">UnknownUtxo</span>))
+ .<span class="ident">map</span>(<span class="op">|</span><span class="ident">outpoint</span><span class="op">|</span> <span class="self">self</span>.<span class="ident">wallet</span>.<span class="ident">get_utxo</span>(<span class="kw-2">*</span><span class="ident">outpoint</span>)<span class="question-mark">?</span>.<span class="ident">ok_or</span>(<span class="ident">Error::UnknownUtxo</span>))
.<span class="ident">collect</span>::<span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span>, <span class="kw">_</span><span class="op">></span><span class="op">></span>()<span class="question-mark">?</span>;
<span class="kw">for</span> <span class="ident">utxo</span> <span class="kw">in</span> <span class="ident">utxos</span> {
<span class="kw">let</span> <span class="ident">satisfaction_weight</span> <span class="op">=</span> <span class="ident">descriptor</span>.<span class="ident">max_satisfaction_weight</span>().<span class="ident">unwrap</span>();
<span class="self">self</span>.<span class="ident">params</span>.<span class="ident">utxos</span>.<span class="ident">push</span>(<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Local</span>(<span class="ident">utxo</span>),
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Local</span>(<span class="ident">utxo</span>),
});
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">add_foreign_utxo</span>(
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>,
<span class="ident">outpoint</span>: <span class="ident">OutPoint</span>,
- <span class="ident">psbt_input</span>: <span class="ident">psbt</span>::<span class="ident">Input</span>,
+ <span class="ident">psbt_input</span>: <span class="ident">psbt::Input</span>,
<span class="ident">satisfaction_weight</span>: <span class="ident">usize</span>,
) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">psbt_input</span>.<span class="ident">witness_utxo</span>.<span class="ident">is_none</span>() {
<span class="kw">match</span> <span class="ident">psbt_input</span>.<span class="ident">non_witness_utxo</span>.<span class="ident">as_ref</span>() {
<span class="prelude-val">Some</span>(<span class="ident">tx</span>) <span class="op">=</span><span class="op">></span> {
<span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">txid</span>() <span class="op">!</span><span class="op">=</span> <span class="ident">outpoint</span>.<span class="ident">txid</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(
<span class="string">"Foreign utxo outpoint does not match PSBT input"</span>.<span class="ident">into</span>(),
));
}
<span class="kw">if</span> <span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">len</span>() <span class="op"><</span><span class="op">=</span> <span class="ident">outpoint</span>.<span class="ident">vout</span> <span class="kw">as</span> <span class="ident">usize</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">InvalidOutpoint</span>(<span class="ident">outpoint</span>));
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::InvalidOutpoint</span>(<span class="ident">outpoint</span>));
}
}
<span class="prelude-val">None</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">Generic</span>(
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::Generic</span>(
<span class="string">"Foreign utxo missing witness_utxo or non_witness_utxo"</span>.<span class="ident">into</span>(),
))
}
<span class="self">self</span>.<span class="ident">params</span>.<span class="ident">utxos</span>.<span class="ident">push</span>(<span class="ident">WeightedUtxo</span> {
<span class="ident">satisfaction_weight</span>,
- <span class="ident">utxo</span>: <span class="ident">Utxo</span>::<span class="ident">Foreign</span> {
+ <span class="ident">utxo</span>: <span class="ident">Utxo::Foreign</span> {
<span class="ident">outpoint</span>,
- <span class="ident">psbt_input</span>: <span class="ident">Box</span>::<span class="ident">new</span>(<span class="ident">psbt_input</span>),
+ <span class="ident">psbt_input</span>: <span class="ident">Box::new</span>(<span class="ident">psbt_input</span>),
},
});
<span class="doccomment">/// This effectively adds all the change outputs to the "unspendable" list. See</span>
<span class="doccomment">/// [`TxBuilder::unspendable`].</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">do_not_spend_change</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeForbidden</span>;
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy::ChangeForbidden</span>;
<span class="self">self</span>
}
<span class="doccomment">/// This effectively adds all the non-change outputs to the "unspendable" list. See</span>
<span class="doccomment">/// [`TxBuilder::unspendable`].</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">only_spend_change</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy</span>::<span class="ident">OnlyChange</span>;
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">change_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy::OnlyChange</span>;
<span class="self">self</span>
}
<span class="doccomment">///</span>
<span class="doccomment">/// This will use the default nSequence value of `0xFFFFFFFD`.</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">enable_rbf</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">rbf</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">RbfValue</span>::<span class="ident">Default</span>);
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">rbf</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">RbfValue::Default</span>);
<span class="self">self</span>
}
<span class="doccomment">/// If the `nsequence` is higher than `0xFFFFFFFD` an error will be thrown, since it would not</span>
<span class="doccomment">/// be a valid nSequence to signal RBF.</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">enable_rbf_with_sequence</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>, <span class="ident">nsequence</span>: <span class="ident">u32</span>) <span class="op">-</span><span class="op">></span> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span> {
- <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">rbf</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">RbfValue</span>::<span class="ident">Value</span>(<span class="ident">nsequence</span>));
+ <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">rbf</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">RbfValue::Value</span>(<span class="ident">nsequence</span>));
<span class="self">self</span>
}
}
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">maintain_single_recipient</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">Self</span>, <span class="ident">Error</span><span class="op">></span> {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">recipients</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">params</span>.<span class="ident">recipients</span>.<span class="ident">drain</span>(..).<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>();
<span class="kw">if</span> <span class="ident">recipients</span>.<span class="ident">len</span>() <span class="op">!</span><span class="op">=</span> <span class="number">1</span> {
- <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error</span>::<span class="ident">SingleRecipientMultipleOutputs</span>);
+ <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">Error::SingleRecipientMultipleOutputs</span>);
}
<span class="self">self</span>.<span class="ident">params</span>.<span class="ident">single_recipient</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">recipients</span>.<span class="ident">pop</span>().<span class="ident">unwrap</span>().<span class="number">0</span>);
<span class="prelude-val">Ok</span>(<span class="self">self</span>)
<span class="kw">impl</span> <span class="ident">Default</span> <span class="kw">for</span> <span class="ident">TxOrdering</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">TxOrdering</span>::<span class="ident">Shuffle</span>
+ <span class="ident">TxOrdering::Shuffle</span>
}
}
<span class="doccomment">/// Sort transaction inputs and outputs by [`TxOrdering`] variant</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">tx</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">Transaction</span>) {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">TxOrdering</span>::<span class="ident">Untouched</span> <span class="op">=</span><span class="op">></span> {}
- <span class="ident">TxOrdering</span>::<span class="ident">Shuffle</span> <span class="op">=</span><span class="op">></span> {
- <span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">seq</span>::<span class="ident">SliceRandom</span>;
+ <span class="ident">TxOrdering::Untouched</span> <span class="op">=</span><span class="op">></span> {}
+ <span class="ident">TxOrdering::Shuffle</span> <span class="op">=</span><span class="op">></span> {
+ <span class="kw">use</span> <span class="ident">rand::seq::SliceRandom</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
- <span class="kw">use</span> <span class="ident">rand</span>::<span class="ident">SeedableRng</span>;
+ <span class="kw">use</span> <span class="ident">rand::SeedableRng</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">not</span>(<span class="ident">test</span>))]</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="ident">rand</span>::<span class="ident">thread_rng</span>();
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="ident">rand::thread_rng</span>();
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">test</span>)]</span>
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="ident">rand</span>::<span class="ident">rngs</span>::<span class="ident">StdRng</span>::<span class="ident">seed_from_u64</span>(<span class="number">0</span>);
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">rng</span> <span class="op">=</span> <span class="ident">rand::rngs::StdRng::seed_from_u64</span>(<span class="number">0</span>);
<span class="ident">tx</span>.<span class="ident">output</span>.<span class="ident">shuffle</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">rng</span>);
}
- <span class="ident">TxOrdering</span>::<span class="ident">Bip69Lexicographic</span> <span class="op">=</span><span class="op">></span> {
+ <span class="ident">TxOrdering::Bip69Lexicographic</span> <span class="op">=</span><span class="op">></span> {
<span class="ident">tx</span>.<span class="ident">input</span>.<span class="ident">sort_unstable_by_key</span>(<span class="op">|</span><span class="ident">txin</span><span class="op">|</span> {
(<span class="ident">txin</span>.<span class="ident">previous_output</span>.<span class="ident">txid</span>, <span class="ident">txin</span>.<span class="ident">previous_output</span>.<span class="ident">vout</span>)
});
<span class="kw">impl</span> <span class="ident">RbfValue</span> {
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">get_value</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="ident">u32</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">RbfValue</span>::<span class="ident">Default</span> <span class="op">=</span><span class="op">></span> <span class="number">0xFFFFFFFD</span>,
- <span class="ident">RbfValue</span>::<span class="ident">Value</span>(<span class="ident">v</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">v</span>,
+ <span class="ident">RbfValue::Default</span> <span class="op">=</span><span class="op">></span> <span class="number">0xFFFFFFFD</span>,
+ <span class="ident">RbfValue::Value</span>(<span class="ident">v</span>) <span class="op">=</span><span class="op">></span> <span class="kw-2">*</span><span class="ident">v</span>,
}
}
}
<span class="kw">impl</span> <span class="ident">Default</span> <span class="kw">for</span> <span class="ident">ChangeSpendPolicy</span> {
<span class="kw">fn</span> <span class="ident">default</span>() <span class="op">-</span><span class="op">></span> <span class="self">Self</span> {
- <span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeAllowed</span>
+ <span class="ident">ChangeSpendPolicy::ChangeAllowed</span>
}
}
<span class="kw">impl</span> <span class="ident">ChangeSpendPolicy</span> {
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">is_satisfied_by</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">utxo</span>: <span class="kw-2">&</span><span class="ident">LocalUtxo</span>) <span class="op">-</span><span class="op">></span> <span class="ident">bool</span> {
<span class="kw">match</span> <span class="self">self</span> {
- <span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeAllowed</span> <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
- <span class="ident">ChangeSpendPolicy</span>::<span class="ident">OnlyChange</span> <span class="op">=</span><span class="op">></span> <span class="ident">utxo</span>.<span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>,
- <span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeForbidden</span> <span class="op">=</span><span class="op">></span> <span class="ident">utxo</span>.<span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">ChangeSpendPolicy::ChangeAllowed</span> <span class="op">=</span><span class="op">></span> <span class="bool-val">true</span>,
+ <span class="ident">ChangeSpendPolicy::OnlyChange</span> <span class="op">=</span><span class="op">></span> <span class="ident">utxo</span>.<span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind::Internal</span>,
+ <span class="ident">ChangeSpendPolicy::ChangeForbidden</span> <span class="op">=</span><span class="op">></span> <span class="ident">utxo</span>.<span class="ident">keychain</span> <span class="op">=</span><span class="op">=</span> <span class="ident">KeychainKind::External</span>,
}
}
}
dd5d299947e2b7354a639adc32ec1fa7b82cfb5dec530e0500000000ffffffff\
03e80300000000000002aaeee80300000000000001aa200300000000000001ff\
00000000"</span>;
- <span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">ordering_test_tx</span> {
+ <span class="macro">macro_rules!</span> <span class="ident">ordering_test_tx</span> {
() <span class="op">=</span><span class="op">></span> {
- <span class="ident">deserialize</span>::<span class="op"><</span><span class="ident">bitcoin</span>::<span class="ident">Transaction</span><span class="op">></span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from_hex</span>(<span class="ident">ORDERING_TEST_TX</span>).<span class="ident">unwrap</span>())
+ <span class="ident">deserialize</span>::<span class="op"><</span><span class="ident">bitcoin::Transaction</span><span class="op">></span>(<span class="kw-2">&</span><span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span><span class="ident">::from_hex</span>(<span class="ident">ORDERING_TEST_TX</span>).<span class="ident">unwrap</span>())
.<span class="ident">unwrap</span>()
};
}
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">consensus</span>::<span class="ident">deserialize</span>;
- <span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">hashes</span>::<span class="ident">hex</span>::<span class="ident">FromHex</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::consensus::deserialize</span>;
+ <span class="kw">use</span> <span class="ident">bitcoin::hashes::hex::FromHex</span>;
<span class="kw">use</span> <span class="kw">super</span>::<span class="kw-2">*</span>;
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_output_ordering_default_shuffle</span>() {
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">TxOrdering</span>::<span class="ident">default</span>(), <span class="ident">TxOrdering</span>::<span class="ident">Shuffle</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">TxOrdering::default</span>(), <span class="ident">TxOrdering::Shuffle</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_output_ordering_untouched</span>() {
- <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx</span><span class="macro">!</span>();
+ <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx!</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">original_tx</span>.<span class="ident">clone</span>();
- <span class="ident">TxOrdering</span>::<span class="ident">Untouched</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
+ <span class="ident">TxOrdering::Untouched</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">original_tx</span>, <span class="ident">tx</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">original_tx</span>, <span class="ident">tx</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_output_ordering_shuffle</span>() {
- <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx</span><span class="macro">!</span>();
+ <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx!</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">original_tx</span>.<span class="ident">clone</span>();
- <span class="ident">TxOrdering</span>::<span class="ident">Shuffle</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
+ <span class="ident">TxOrdering::Shuffle</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">original_tx</span>.<span class="ident">input</span>, <span class="ident">tx</span>.<span class="ident">input</span>);
- <span class="macro">assert_ne</span><span class="macro">!</span>(<span class="ident">original_tx</span>.<span class="ident">output</span>, <span class="ident">tx</span>.<span class="ident">output</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">original_tx</span>.<span class="ident">input</span>, <span class="ident">tx</span>.<span class="ident">input</span>);
+ <span class="macro">assert_ne!</span>(<span class="ident">original_tx</span>.<span class="ident">output</span>, <span class="ident">tx</span>.<span class="ident">output</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_output_ordering_bip69</span>() {
- <span class="kw">use</span> <span class="ident">std</span>::<span class="ident">str</span>::<span class="ident">FromStr</span>;
+ <span class="kw">use</span> <span class="ident">std::str::FromStr</span>;
- <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx</span><span class="macro">!</span>();
+ <span class="kw">let</span> <span class="ident">original_tx</span> <span class="op">=</span> <span class="macro">ordering_test_tx!</span>();
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">tx</span> <span class="op">=</span> <span class="ident">original_tx</span>;
- <span class="ident">TxOrdering</span>::<span class="ident">Bip69Lexicographic</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
+ <span class="ident">TxOrdering::Bip69Lexicographic</span>.<span class="ident">sort_tx</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">tx</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">input</span>[<span class="number">0</span>].<span class="ident">previous_output</span>,
- <span class="ident">bitcoin</span>::<span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">bitcoin::OutPoint::from_str</span>(
<span class="string">"0e53ec5dfb2cb8a71fec32dc9a634a35b7e24799295ddd5278217822e0b31f57:5"</span>
)
.<span class="ident">unwrap</span>()
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">input</span>[<span class="number">1</span>].<span class="ident">previous_output</span>,
- <span class="ident">bitcoin</span>::<span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">bitcoin::OutPoint::from_str</span>(
<span class="string">"0f60fdd185542f2c6ea19030b0796051e7772b6026dd5ddccd7a2f93b73e6fc2:0"</span>
)
.<span class="ident">unwrap</span>()
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(
+ <span class="macro">assert_eq!</span>(
<span class="ident">tx</span>.<span class="ident">input</span>[<span class="number">2</span>].<span class="ident">previous_output</span>,
- <span class="ident">bitcoin</span>::<span class="ident">OutPoint</span>::<span class="ident">from_str</span>(
+ <span class="ident">bitcoin::OutPoint::from_str</span>(
<span class="string">"0f60fdd185542f2c6ea19030b0796051e7772b6026dd5ddccd7a2f93b73e6fc2:1"</span>
)
.<span class="ident">unwrap</span>()
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">800</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">1</span>].<span class="ident">script_pubkey</span>, <span class="ident">From</span>::<span class="ident">from</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">0xAA</span>]));
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">2</span>].<span class="ident">script_pubkey</span>, <span class="ident">From</span>::<span class="ident">from</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">0xAA</span>, <span class="number">0xEE</span>]));
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="number">800</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">1</span>].<span class="ident">script_pubkey</span>, <span class="ident">From::from</span>(<span class="macro">vec!</span>[<span class="number">0xAA</span>]));
+ <span class="macro">assert_eq!</span>(<span class="ident">tx</span>.<span class="ident">output</span>[<span class="number">2</span>].<span class="ident">script_pubkey</span>, <span class="ident">From::from</span>(<span class="macro">vec!</span>[<span class="number">0xAA</span>, <span class="number">0xEE</span>]));
}
<span class="kw">fn</span> <span class="ident">get_test_utxos</span>() <span class="op">-</span><span class="op">></span> <span class="ident">Vec</span><span class="op"><</span><span class="ident">LocalUtxo</span><span class="op">></span> {
- <span class="macro">vec</span><span class="macro">!</span>[
+ <span class="macro">vec!</span>[
<span class="ident">LocalUtxo</span> {
<span class="ident">outpoint</span>: <span class="ident">OutPoint</span> {
- <span class="ident">txid</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">txid</span>: <span class="ident">Default::default</span>(),
<span class="ident">vout</span>: <span class="number">0</span>,
},
- <span class="ident">txout</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">External</span>,
+ <span class="ident">txout</span>: <span class="ident">Default::default</span>(),
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::External</span>,
},
<span class="ident">LocalUtxo</span> {
<span class="ident">outpoint</span>: <span class="ident">OutPoint</span> {
- <span class="ident">txid</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
+ <span class="ident">txid</span>: <span class="ident">Default::default</span>(),
<span class="ident">vout</span>: <span class="number">1</span>,
},
- <span class="ident">txout</span>: <span class="ident">Default</span>::<span class="ident">default</span>(),
- <span class="ident">keychain</span>: <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>,
+ <span class="ident">txout</span>: <span class="ident">Default::default</span>(),
+ <span class="ident">keychain</span>: <span class="ident">KeychainKind::Internal</span>,
},
]
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_change_spend_policy_default</span>() {
- <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy</span>::<span class="ident">default</span>();
+ <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy::default</span>();
<span class="kw">let</span> <span class="ident">filtered</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>()
.<span class="ident">into_iter</span>()
.<span class="ident">filter</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">change_spend_policy</span>.<span class="ident">is_satisfied_by</span>(<span class="ident">u</span>))
.<span class="ident">count</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">filtered</span>, <span class="number">2</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">filtered</span>, <span class="number">2</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_change_spend_policy_no_internal</span>() {
- <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy</span>::<span class="ident">ChangeForbidden</span>;
+ <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy::ChangeForbidden</span>;
<span class="kw">let</span> <span class="ident">filtered</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>()
.<span class="ident">into_iter</span>()
.<span class="ident">filter</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">change_spend_policy</span>.<span class="ident">is_satisfied_by</span>(<span class="ident">u</span>))
.<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">filtered</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">filtered</span>[<span class="number">0</span>].<span class="ident">keychain</span>, <span class="ident">KeychainKind</span>::<span class="ident">External</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">filtered</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">filtered</span>[<span class="number">0</span>].<span class="ident">keychain</span>, <span class="ident">KeychainKind::External</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_change_spend_policy_only_internal</span>() {
- <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy</span>::<span class="ident">OnlyChange</span>;
+ <span class="kw">let</span> <span class="ident">change_spend_policy</span> <span class="op">=</span> <span class="ident">ChangeSpendPolicy::OnlyChange</span>;
<span class="kw">let</span> <span class="ident">filtered</span> <span class="op">=</span> <span class="ident">get_test_utxos</span>()
.<span class="ident">into_iter</span>()
.<span class="ident">filter</span>(<span class="op">|</span><span class="ident">u</span><span class="op">|</span> <span class="ident">change_spend_policy</span>.<span class="ident">is_satisfied_by</span>(<span class="ident">u</span>))
.<span class="ident">collect</span>::<span class="op"><</span><span class="ident">Vec</span><span class="op"><</span><span class="kw">_</span><span class="op">></span><span class="op">></span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">filtered</span>.<span class="ident">len</span>(), <span class="number">1</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">filtered</span>[<span class="number">0</span>].<span class="ident">keychain</span>, <span class="ident">KeychainKind</span>::<span class="ident">Internal</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">filtered</span>.<span class="ident">len</span>(), <span class="number">1</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">filtered</span>[<span class="number">0</span>].<span class="ident">keychain</span>, <span class="ident">KeychainKind::Internal</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_default_tx_version_1</span>() {
- <span class="kw">let</span> <span class="ident">version</span> <span class="op">=</span> <span class="ident">Version</span>::<span class="ident">default</span>();
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">version</span>.<span class="number">0</span>, <span class="number">1</span>);
+ <span class="kw">let</span> <span class="ident">version</span> <span class="op">=</span> <span class="ident">Version::default</span>();
+ <span class="macro">assert_eq!</span>(<span class="ident">version</span>.<span class="number">0</span>, <span class="number">1</span>);
}
}
</pre></div>
<!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="Source of the Rust file `src/wallet/utils.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>utils.rs - source</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../../ayu.css" disabled ><script id="default-settings"></script><script src="../../../storage.js"></script><script src="../../../crates.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../../favicon.svg">
<link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png">
-<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
+<link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../../bdk/index.html'><div class='logo-container rust-logo'><img src='../../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../../brush.svg" width="18" height="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
<a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" height="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span class="comment">// You may not use this file except in accordance with one or both of these</span>
<span class="comment">// licenses.</span>
-<span class="kw">use</span> <span class="ident">bitcoin</span>::<span class="ident">secp256k1</span>::{<span class="ident">All</span>, <span class="ident">Secp256k1</span>};
+<span class="kw">use</span> <span class="ident">bitcoin::secp256k1</span>::{<span class="ident">All</span>, <span class="ident">Secp256k1</span>};
<span class="kw">use</span> <span class="ident">miniscript</span>::{<span class="ident">MiniscriptKey</span>, <span class="ident">Satisfier</span>, <span class="ident">ToPublicKey</span>};
}
<span class="kw">impl</span><span class="op"><</span><span class="ident">I</span>: <span class="ident">Iterator</span><span class="op">></span> <span class="ident">Iterator</span> <span class="kw">for</span> <span class="ident">ChunksIterator</span><span class="op"><</span><span class="ident">I</span><span class="op">></span> {
- <span class="kw">type</span> <span class="ident">Item</span> <span class="op">=</span> <span class="ident">Vec</span><span class="op"><</span><span class="op"><</span><span class="ident">I</span> <span class="kw">as</span> <span class="ident">std</span>::<span class="ident">iter</span>::<span class="ident">Iterator</span><span class="op">></span>::<span class="ident">Item</span><span class="op">></span>;
+ <span class="kw">type</span> <span class="ident">Item</span> <span class="op">=</span> <span class="ident">Vec</span><span class="op"><</span><span class="op"><</span><span class="ident">I</span> <span class="kw">as</span> <span class="ident">std::iter::Iterator</span><span class="op">></span><span class="ident">::Item</span><span class="op">></span>;
- <span class="kw">fn</span> <span class="ident">next</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="self">Self</span>::<span class="ident">Item</span><span class="op">></span> {
- <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
+ <span class="kw">fn</span> <span class="ident">next</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Option</span><span class="op"><</span><span class="self">Self</span><span class="ident">::Item</span><span class="op">></span> {
+ <span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">Vec::new</span>();
<span class="kw">for</span> <span class="kw">_</span> <span class="kw">in</span> <span class="number">0</span>..<span class="self">self</span>.<span class="ident">size</span> {
<span class="kw">let</span> <span class="ident">e</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">iter</span>.<span class="ident">next</span>();
<span class="ident">check_nlocktime</span>, <span class="ident">check_nsequence_rbf</span>, <span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span>,
<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span>,
};
- <span class="kw">use</span> <span class="kw">crate</span>::<span class="ident">types</span>::<span class="ident">FeeRate</span>;
+ <span class="kw">use</span> <span class="kw">crate</span><span class="ident">::types::FeeRate</span>;
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_fee_from_btc_per_kb</span>() {
- <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_btc_per_kvb</span>(<span class="number">1e-5</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
+ <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate::from_btc_per_kvb</span>(<span class="number">1e-5</span>);
+ <span class="macro">assert!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_fee_from_sats_vbyte</span>() {
- <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">from_sat_per_vb</span>(<span class="number">1.0</span>);
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
+ <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate::from_sat_per_vb</span>(<span class="number">1.0</span>);
+ <span class="macro">assert!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_fee_default_min_relay_fee</span>() {
- <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate</span>::<span class="ident">default_min_relay_fee</span>();
- <span class="macro">assert</span><span class="macro">!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
+ <span class="kw">let</span> <span class="ident">fee</span> <span class="op">=</span> <span class="ident">FeeRate::default_min_relay_fee</span>();
+ <span class="macro">assert!</span>((<span class="ident">fee</span>.<span class="ident">as_sat_vb</span>() <span class="op">-</span> <span class="number">1.0</span>).<span class="ident">abs</span>() <span class="op"><</span> <span class="number">0.0001</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nsequence_rbf_msb_set</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nsequence_rbf</span>(<span class="number">0x80000000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nsequence_rbf_lt_csv</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nsequence_rbf</span>(<span class="number">4000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nsequence_rbf_different_unit</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nsequence_rbf</span>(<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span> <span class="op">+</span> <span class="number">5000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nsequence_rbf_mask</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nsequence_rbf</span>(<span class="number">0x3f</span> <span class="op">+</span> <span class="number">10_000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nsequence_rbf_same_unit_blocks</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nsequence_rbf</span>(<span class="number">10_000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span> <span class="op">+</span> <span class="number">10_000</span>,
<span class="ident">SEQUENCE_LOCKTIME_TYPE_FLAG</span> <span class="op">+</span> <span class="number">5000</span>,
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nlocktime_lt_cltv</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nlocktime</span>(<span class="number">4000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nlocktime_different_unit</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nlocktime</span>(<span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span> <span class="op">+</span> <span class="number">5000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">false</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="kw">fn</span> <span class="ident">test_check_nlocktime_same_unit_blocks</span>() {
<span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">check_nlocktime</span>(<span class="number">10_000</span>, <span class="number">5000</span>);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span> <span class="op">+</span> <span class="number">10_000</span>,
<span class="ident">BLOCKS_TIMELOCK_THRESHOLD</span> <span class="op">+</span> <span class="number">5000</span>,
);
- <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
+ <span class="macro">assert_eq!</span>(<span class="ident">result</span>, <span class="bool-val">true</span>);
}
}
</pre></div>
-var resourcesSuffix="";var darkThemes=["dark","ayu"];var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i<length;++i){if(func(arr[i])===true){return true}}}else{for(i=length-1;i>=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){var cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(currentTheme,mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(currentTheme,mainTheme,darkTheme,true)}else{switchTheme(currentTheme,mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(currentTheme,mainTheme,getSettingValue("theme")||"light",false)}
\ No newline at end of file
+var resourcesSuffix="";var darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i<length;++i){if(func(arr[i])===true){return true}}}else{for(i=length-1;i>=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){var cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(window.currentTheme,window.mainTheme,darkTheme,true)}else{switchTheme(window.currentTheme,window.mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}
\ No newline at end of file
+++ /dev/null
-var themes=document.getElementById("theme-choices");var themePicker=document.getElementById("theme-picker");function showThemeButtonState(){themes.style.display="block";themePicker.style.borderBottomRightRadius="0";themePicker.style.borderBottomLeftRadius="0"}function hideThemeButtonState(){themes.style.display="none";themePicker.style.borderBottomRightRadius="3px";themePicker.style.borderBottomLeftRadius="3px"}function switchThemeButtonState(){if(themes.style.display==="block"){hideThemeButtonState()}else{showThemeButtonState()}};function handleThemeButtonsBlur(e){var active=document.activeElement;var related=e.relatedTarget;if(active.id!=="theme-picker"&&(!active.parentNode||active.parentNode.id!=="theme-choices")&&(!related||(related.id!=="theme-picker"&&(!related.parentNode||related.parentNode.id!=="theme-choices")))){hideThemeButtonState()}}themePicker.onclick=switchThemeButtonState;themePicker.onblur=handleThemeButtonsBlur;["ayu","dark","light"].forEach(function(item){var but=document.createElement("button");but.textContent=item;but.onclick=function(el){switchTheme(currentTheme,mainTheme,item,true);useSystemTheme(false)};but.onblur=handleThemeButtonsBlur;themes.appendChild(but)})
\ No newline at end of file